/* Generated by Cython 3.2.4 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/build/cython/src/cython/Cython/Compiler/Code.pxd"
        ],
        "name": "Cython.Compiler.Code",
        "sources": [
            "/build/cython/src/cython/Cython/Compiler/Code.py"
        ]
    },
    "module_name": "Cython.Compiler.Code"
}
END: Cython Metadata */

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
/* InitLimitedAPI */
#if defined(Py_LIMITED_API)
  #if !defined(CYTHON_LIMITED_API)
  #define CYTHON_LIMITED_API 1
  #endif
#elif defined(CYTHON_LIMITED_API)
  #ifdef _MSC_VER
  #pragma message ("Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.")
  #else
  #warning Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.
  #endif
#endif

#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x03080000
    #error Cython requires Python 3.8+.
#else
#define __PYX_ABI_VERSION "3_2_4"
#define CYTHON_HEX_VERSION 0x030204F0
#define CYTHON_FUTURE_DIVISION 1
/* CModulePreamble */
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
  /* For very preliminary testing purposes. Most variables are set the same as PyPy.
     The existence of this section does not imply that anything works or is even tested */
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 1
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 0
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_ASSUME_SAFE_SIZE
  #define CYTHON_ASSUME_SAFE_SIZE 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
  #undef CYTHON_USE_AM_SEND
  #define CYTHON_USE_AM_SEND 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 1
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 0
#elif defined(PYPY_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 1
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #ifndef CYTHON_ASSUME_SAFE_SIZE
    #define CYTHON_ASSUME_SAFE_SIZE 1
  #endif
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #if PY_VERSION_HEX < 0x03090000
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE (PYPY_VERSION_NUM >= 0x07030C00)
  #endif
  #undef CYTHON_USE_AM_SEND
  #define CYTHON_USE_AM_SEND 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_NUM >= 0x07031100)
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 0
#elif defined(CYTHON_LIMITED_API)
  #ifdef Py_LIMITED_API
    #undef __PYX_LIMITED_VERSION_HEX
    #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
  #endif
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 1
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 1
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #endif
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #endif
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_ASSUME_SAFE_SIZE
  #define CYTHON_ASSUME_SAFE_SIZE 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL (__PYX_LIMITED_VERSION_HEX >= 0x030C0000)
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 0
  #endif
  #ifndef CYTHON_USE_AM_SEND
    #define CYTHON_USE_AM_SEND (__PYX_LIMITED_VERSION_HEX >= 0x030A0000)
  #endif
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #ifndef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 1
  #endif
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 0
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #ifdef Py_GIL_DISABLED
    #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 1
  #else
    #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #endif
  #if PY_VERSION_HEX < 0x030A0000
    #undef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #elif !defined(CYTHON_USE_TYPE_SLOTS)
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #ifndef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 1
  #endif
  #ifndef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLIST_INTERNALS)
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING || PY_VERSION_HEX >= 0x030B00A2
    #undef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #elif !defined(CYTHON_USE_UNICODE_WRITER)
    #define CYTHON_USE_UNICODE_WRITER 1
  #endif
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
  #elif !defined(CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_ASSUME_SAFE_SIZE
    #define CYTHON_ASSUME_SAFE_SIZE 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_FAST_GIL
    #define CYTHON_FAST_GIL 0
  #elif !defined(CYTHON_FAST_GIL)
    #define CYTHON_FAST_GIL (PY_VERSION_HEX < 0x030C00A6)
  #endif
  #ifndef CYTHON_METH_FASTCALL
    #define CYTHON_METH_FASTCALL 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #ifndef CYTHON_USE_SYS_MONITORING
    #define CYTHON_USE_SYS_MONITORING (PY_VERSION_HEX >= 0x030d00B1)
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 1
  #endif
  #ifndef CYTHON_USE_AM_SEND
    #define CYTHON_USE_AM_SEND 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_USE_DICT_VERSIONS
    #define CYTHON_USE_DICT_VERSIONS 0
  #elif !defined(CYTHON_USE_DICT_VERSIONS)
    #define CYTHON_USE_DICT_VERSIONS  (PY_VERSION_HEX < 0x030C00A5 && !CYTHON_USE_MODULE_STATE)
  #endif
  #ifndef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK 1
  #endif
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
  #endif
  #ifndef CYTHON_USE_FREELISTS
    #define CYTHON_USE_FREELISTS (!CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
  #endif
  #if defined(CYTHON_IMMORTAL_CONSTANTS) && PY_VERSION_HEX < 0x030C0000
    #undef CYTHON_IMMORTAL_CONSTANTS
    #define CYTHON_IMMORTAL_CONSTANTS 0  // definitely won't work
  #elif !defined(CYTHON_IMMORTAL_CONSTANTS)
    #define CYTHON_IMMORTAL_CONSTANTS (PY_VERSION_HEX >= 0x030C0000 && !CYTHON_USE_MODULE_STATE && CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
  #endif
#endif
#ifndef CYTHON_COMPRESS_STRINGS
  #define CYTHON_COMPRESS_STRINGS 1
#endif
#ifndef CYTHON_FAST_PYCCALL
#define CYTHON_FAST_PYCCALL  CYTHON_FAST_PYCALL
#endif
#ifndef CYTHON_VECTORCALL
#if CYTHON_COMPILING_IN_LIMITED_API
#define CYTHON_VECTORCALL  (__PYX_LIMITED_VERSION_HEX >= 0x030C0000)
#else
#define CYTHON_VECTORCALL  (CYTHON_FAST_PYCCALL)
#endif
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #undef SHIFT
  #undef BASE
  #undef MASK
  #ifdef SIZEOF_VOID_P
    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
  #endif
#endif
#ifndef __has_attribute
  #define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
  #define __has_cpp_attribute(x) 0
#endif
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER) && _MSC_VER >= 1400
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifndef CYTHON_UNUSED
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(maybe_unused)
        #define CYTHON_UNUSED [[maybe_unused]]
      #endif
    #endif
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
  #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_USE_CPP_STD_MOVE
  #if defined(__cplusplus) && (\
    __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
    #define CYTHON_USE_CPP_STD_MOVE 1
  #else
    #define CYTHON_USE_CPP_STD_MOVE 0
  #endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#include <stdint.h>
typedef uintptr_t  __pyx_uintptr_t;
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(fallthrough)
        #define CYTHON_FALLTHROUGH [[fallthrough]]
      #endif
    #endif
    #ifndef CYTHON_FALLTHROUGH
      #if __has_cpp_attribute(clang::fallthrough)
        #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
      #elif __has_cpp_attribute(gnu::fallthrough)
        #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
      #endif
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif
#ifndef Py_UNREACHABLE
  #define Py_UNREACHABLE()  assert(0); abort()
#endif
#ifdef __cplusplus
  template <typename T>
  struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
  #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
#else
  #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
#endif
#if CYTHON_COMPILING_IN_PYPY == 1
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX < 0x030A0000)
#else
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX < 0x03090000)
#endif
#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))

/* CInitCode */
#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #elif defined(__GNUC__)
    #define CYTHON_INLINE __inline__
  #elif defined(_MSC_VER)
    #define CYTHON_INLINE __inline
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_INLINE inline
  #else
    #define CYTHON_INLINE
  #endif
#endif

/* PythonCompatibility */
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
#if CYTHON_COMPILING_IN_LIMITED_API
    #ifndef CO_OPTIMIZED
    static int CO_OPTIMIZED;
    #endif
    #ifndef CO_NEWLOCALS
    static int CO_NEWLOCALS;
    #endif
    #ifndef CO_VARARGS
    static int CO_VARARGS;
    #endif
    #ifndef CO_VARKEYWORDS
    static int CO_VARKEYWORDS;
    #endif
    #ifndef CO_ASYNC_GENERATOR
    static int CO_ASYNC_GENERATOR;
    #endif
    #ifndef CO_GENERATOR
    static int CO_GENERATOR;
    #endif
    #ifndef CO_COROUTINE
    static int CO_COROUTINE;
    #endif
#else
    #ifndef CO_COROUTINE
      #define CO_COROUTINE 0x80
    #endif
    #ifndef CO_ASYNC_GENERATOR
      #define CO_ASYNC_GENERATOR 0x200
    #endif
#endif
static int __Pyx_init_co_variables(void);
#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE)
  #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type)
#else
  #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
  #define __Pyx_Py_Is(x, y)  Py_Is(x, y)
#else
  #define __Pyx_Py_Is(x, y) ((x) == (y))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
  #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
#else
  #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
  #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
#else
  #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
  #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
#else
  #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
#endif
#define __Pyx_NoneAsNull(obj)  (__Pyx_Py_IsNone(obj) ? NULL : (obj))
#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
#else
  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef Py_TPFLAGS_SEQUENCE
  #define Py_TPFLAGS_SEQUENCE 0
#endif
#ifndef Py_TPFLAGS_MAPPING
  #define Py_TPFLAGS_MAPPING 0
#endif
#ifndef Py_TPFLAGS_IMMUTABLETYPE
  #define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
#endif
#ifndef Py_TPFLAGS_DISALLOW_INSTANTIATION
  #define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
#endif
#ifndef METH_STACKLESS
  #define METH_STACKLESS 0
#endif
#ifndef METH_FASTCALL
  #ifndef METH_FASTCALL
     #define METH_FASTCALL 0x80
  #endif
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
                                                          Py_ssize_t nargs, PyObject *kwnames);
#else
  #if PY_VERSION_HEX >= 0x030d00A4
  #  define __Pyx_PyCFunctionFast PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
  #else
  #  define __Pyx_PyCFunctionFast _PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
  #endif
#endif
#if CYTHON_METH_FASTCALL
  #define __Pyx_METH_FASTCALL METH_FASTCALL
  #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
  #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
#else
  #define __Pyx_METH_FASTCALL METH_VARARGS
  #define __Pyx_PyCFunction_FastCall PyCFunction
  #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
#endif
#if CYTHON_VECTORCALL
  #define __pyx_vectorcallfunc vectorcallfunc
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  PY_VECTORCALL_ARGUMENTS_OFFSET
  #define __Pyx_PyVectorcall_NARGS(n)  PyVectorcall_NARGS((size_t)(n))
#else
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  0
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(n))
#endif
#if PY_VERSION_HEX >= 0x030900B1
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_CheckExact(func)
#else
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_Check(func)
#endif
#define __Pyx_CyOrPyCFunction_Check(func)  PyCFunction_Check(func)
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  (((PyCFunctionObject*)(func))->m_ml->ml_meth)
#elif !CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  PyCFunction_GET_FUNCTION(func)
#endif
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FLAGS(func)  (((PyCFunctionObject*)(func))->m_ml->ml_flags)
static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
    return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
}
#endif
static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void (*cfunc)(void)) {
#if CYTHON_COMPILING_IN_LIMITED_API
    return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
#else
    return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
#endif
}
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCFunction(func, cfunc)
#if PY_VERSION_HEX < 0x03090000 || (CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  ((void)m, PyType_FromSpecWithBases(s, b))
  typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  PyType_FromModuleAndSpec(m, s, b)
  #define __Pyx_PyCMethod  PyCMethod
#endif
#ifndef METH_METHOD
  #define METH_METHOD 0x200
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
  #define PyObject_Malloc(s)   PyMem_Malloc(s)
  #define PyObject_Free(p)     PyMem_Free(p)
  #define PyObject_Realloc(p)  PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
#elif CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) GraalPyFrame_SetLineNumber((frame), (lineno))
#elif CYTHON_COMPILING_IN_GRAAL
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) _PyFrame_SetLineNumber((frame), (lineno))
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x030d00A1
  #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#endif
#if CYTHON_USE_MODULE_STATE
static CYTHON_INLINE void *__Pyx__PyModule_GetState(PyObject *op)
{
    void *result;
    result = PyModule_GetState(op);
    if (!result)
        Py_FatalError("Couldn't find the module state");
    return result;
}
#define __Pyx_PyModule_GetState(o) (__pyx_mstatetype *)__Pyx__PyModule_GetState(o)
#else
#define __Pyx_PyModule_GetState(op) ((void)op,__pyx_mstate_global)
#endif
#define __Pyx_PyObject_GetSlot(obj, name, func_ctype)  __Pyx_PyType_GetSlot(Py_TYPE((PyObject *) obj), name, func_ctype)
#define __Pyx_PyObject_TryGetSlot(obj, name, func_ctype) __Pyx_PyType_TryGetSlot(Py_TYPE(obj), name, func_ctype)
#define __Pyx_PyObject_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
#define __Pyx_PyObject_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
#if CYTHON_USE_TYPE_SLOTS
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((type)->name)
  #define __Pyx_PyType_TryGetSlot(type, name, func_ctype) __Pyx_PyType_GetSlot(type, name, func_ctype)
  #define __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype) (((type)->sub) ? ((type)->sub->name) : NULL)
  #define __Pyx_PyType_TryGetSubSlot(type, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype)
#else
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((func_ctype) PyType_GetSlot((type), Py_##name))
  #define __Pyx_PyType_TryGetSlot(type, name, func_ctype)\
    ((__PYX_LIMITED_VERSION_HEX >= 0x030A0000 ||\
     (PyType_GetFlags(type) & Py_TPFLAGS_HEAPTYPE) || __Pyx_get_runtime_version() >= 0x030A0000) ?\
     __Pyx_PyType_GetSlot(type, name, func_ctype) : NULL)
  #define __Pyx_PyType_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSlot(obj, name, func_ctype)
  #define __Pyx_PyType_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSlot(obj, name, func_ctype)
#endif
#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
    PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
    if (res == NULL) PyErr_Clear();
    return res;
}
#elif !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000
#define __Pyx_PyDict_GetItemStrWithError  PyDict_GetItemWithError
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#else
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
#if CYTHON_COMPILING_IN_PYPY
    return PyDict_GetItem(dict, name);
#else
    PyDictEntry *ep;
    PyDictObject *mp = (PyDictObject*) dict;
    long hash = ((PyStringObject *) name)->ob_shash;
    assert(hash != -1);
    ep = (mp->ma_lookup)(mp, name, hash);
    if (ep == NULL) {
        return NULL;
    }
    return ep->me_value;
#endif
}
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#endif
#if CYTHON_USE_TYPE_SLOTS
  #define __Pyx_PyType_GetFlags(tp)   (((PyTypeObject *)tp)->tp_flags)
  #define __Pyx_PyType_HasFeature(type, feature)  ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
#else
  #define __Pyx_PyType_GetFlags(tp)   (PyType_GetFlags((PyTypeObject *)tp))
  #define __Pyx_PyType_HasFeature(type, feature)  PyType_HasFeature(type, feature)
#endif
#define __Pyx_PyObject_GetIterNextFunc(iterator)  __Pyx_PyObject_GetSlot(iterator, tp_iternext, iternextfunc)
#if CYTHON_USE_TYPE_SPECS
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  {\
    PyTypeObject *type = Py_TYPE((PyObject*)obj);\
    assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
    PyObject_GC_Del(obj);\
    Py_DECREF(type);\
}
#else
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  PyObject_GC_Del(obj)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((void)u, 1114111U)
  #define __Pyx_PyUnicode_KIND(u)         ((void)u, (0))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)u)
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GetLength(u))
#else
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_READY(op)       (0)
  #else
    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                                0 : _PyUnicode_Ready((PyObject *)(op)))
  #endif
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  #define __Pyx_PyUnicode_KIND(u)         ((int)PyUnicode_KIND(u))
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
  #else
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
    #else
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
    #endif
  #endif
#endif
#if CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
#else
  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #if !defined(PyUnicode_DecodeUnicodeEscape)
    #define PyUnicode_DecodeUnicodeEscape(s, size, errors)  PyUnicode_Decode(s, size, "unicode_escape", errors)
  #endif
  #if !defined(PyUnicode_Contains)
    #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
  #endif
  #if !defined(PyByteArray_Check)
    #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
  #endif
  #if !defined(PyObject_Format)
    #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
  #endif
#endif
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && PyUnstable_Object_IsUniquelyReferenced(obj)) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#elif CYTHON_COMPILING_IN_CPYTHON
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#else
  #define __Pyx_PySequence_ListKeepNew(obj)  PySequence_List(obj)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        __Pyx_IS_TYPE(obj, &PySet_Type)
#endif
#if PY_VERSION_HEX >= 0x030900A4
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
#else
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
enum __Pyx_ReferenceSharing {
  __Pyx_ReferenceSharing_DefinitelyUnique, // We created it so we know it's unshared - no need to check
  __Pyx_ReferenceSharing_OwnStrongReference,
  __Pyx_ReferenceSharing_FunctionArgument,
  __Pyx_ReferenceSharing_SharedReference, // Never trust it to be unshared because it's a global or similar
};
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX >= 0x030E0000
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing)\
    (sharing == __Pyx_ReferenceSharing_DefinitelyUnique ? 1 :\
      (sharing == __Pyx_ReferenceSharing_FunctionArgument ? PyUnstable_Object_IsUniqueReferencedTemporary(o) :\
      (sharing == __Pyx_ReferenceSharing_OwnStrongReference ? PyUnstable_Object_IsUniquelyReferenced(o) : 0)))
#elif (CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING) || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)sharing), Py_REFCNT(o) == 1)
#else
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)o), ((void)sharing), 0)
#endif
#if CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
  #elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_PyList_GetItemRef(o, i) (likely((i) >= 0) ? PySequence_GetItem(o, i) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
  #else
    #define __Pyx_PyList_GetItemRef(o, i) PySequence_ITEM(o, i)
  #endif
#elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
  #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
  #else
    #define __Pyx_PyList_GetItemRef(o, i) __Pyx_XNewRef(PyList_GetItem(o, i))
  #endif
#else
  #define __Pyx_PyList_GetItemRef(o, i) __Pyx_NewRef(PyList_GET_ITEM(o, i))
#endif
#if CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS && !CYTHON_COMPILING_IN_LIMITED_API && CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PyList_GetItemRefFast(o, i, unsafe_shared) (__Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared) ?\
    __Pyx_NewRef(PyList_GET_ITEM(o, i)) : __Pyx_PyList_GetItemRef(o, i))
#else
  #define __Pyx_PyList_GetItemRefFast(o, i, unsafe_shared) __Pyx_PyList_GetItemRef(o, i)
#endif
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_PyDict_GetItemRef(dict, key, result) PyDict_GetItemRef(dict, key, result)
#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
  *result = PyObject_GetItem(dict, key);
  if (*result == NULL) {
    if (PyErr_ExceptionMatches(PyExc_KeyError)) {
      PyErr_Clear();
      return 0;
    }
    return -1;
  }
  return 1;
}
#else
static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
  *result = PyDict_GetItemWithError(dict, key);
  if (*result == NULL) {
    return PyErr_Occurred() ? -1 : 0;
  }
  Py_INCREF(*result);
  return 1;
}
#endif
#if defined(CYTHON_DEBUG_VISIT_CONST) && CYTHON_DEBUG_VISIT_CONST
  #define __Pyx_VISIT_CONST(obj)  Py_VISIT(obj)
#else
  #define __Pyx_VISIT_CONST(obj)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GET_ITEM(o, i)
  #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyList_GET_ITEM(o, i) PyList_GET_ITEM(o, i)
#else
  #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
  #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GetItem(o, i)
  #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
  #define __Pyx_PyList_GET_ITEM(o, i) PyList_GetItem(o, i)
#endif
#if CYTHON_ASSUME_SAFE_SIZE
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
  #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GET_LENGTH(o)
#else
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
  #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GetLength(o)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_InternFromString)
  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
#endif
#define __Pyx_PyLong_FromHash_t PyLong_FromSsize_t
#define __Pyx_PyLong_AsHash_t   __Pyx_PyIndex_AsSsize_t
#if __PYX_LIMITED_VERSION_HEX >= 0x030A0000
    #define __Pyx_PySendResult PySendResult
#else
    typedef enum {
        PYGEN_RETURN = 0,
        PYGEN_ERROR = -1,
        PYGEN_NEXT = 1,
    } __Pyx_PySendResult;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030A00A3
  typedef __Pyx_PySendResult (*__Pyx_pyiter_sendfunc)(PyObject *iter, PyObject *value, PyObject **result);
#else
  #define __Pyx_pyiter_sendfunc sendfunc
#endif
#if !CYTHON_USE_AM_SEND
#define __PYX_HAS_PY_AM_SEND 0
#elif __PYX_LIMITED_VERSION_HEX >= 0x030A0000
#define __PYX_HAS_PY_AM_SEND 1
#else
#define __PYX_HAS_PY_AM_SEND 2  // our own backported implementation
#endif
#if __PYX_HAS_PY_AM_SEND < 2
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
#else
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
        __Pyx_pyiter_sendfunc am_send;
    } __Pyx_PyAsyncMethodsStruct;
    #define __Pyx_SlotTpAsAsync(s) ((PyAsyncMethods*)(s))
#endif
#if CYTHON_USE_AM_SEND && PY_VERSION_HEX < 0x030A00F0
    #define __Pyx_TPFLAGS_HAVE_AM_SEND (1UL << 21)
#else
    #define __Pyx_TPFLAGS_HAVE_AM_SEND (0)
#endif
#if PY_VERSION_HEX >= 0x03090000
#define __Pyx_PyInterpreterState_Get() PyInterpreterState_Get()
#else
#define __Pyx_PyInterpreterState_Get() PyThreadState_Get()->interp
#endif
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030A0000
#ifdef __cplusplus
extern "C"
#endif
PyAPI_FUNC(void *) PyMem_Calloc(size_t nelem, size_t elsize);
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_init_co_variable(PyObject *inspect, const char* name, int *write_to) {
    int value;
    PyObject *py_value = PyObject_GetAttrString(inspect, name);
    if (!py_value) return 0;
    value = (int) PyLong_AsLong(py_value);
    Py_DECREF(py_value);
    *write_to = value;
    return value != -1 || !PyErr_Occurred();
}
static int __Pyx_init_co_variables(void) {
    PyObject *inspect;
    int result;
    inspect = PyImport_ImportModule("inspect");
    result =
#if !defined(CO_OPTIMIZED)
        __Pyx_init_co_variable(inspect, "CO_OPTIMIZED", &CO_OPTIMIZED) &&
#endif
#if !defined(CO_NEWLOCALS)
        __Pyx_init_co_variable(inspect, "CO_NEWLOCALS", &CO_NEWLOCALS) &&
#endif
#if !defined(CO_VARARGS)
        __Pyx_init_co_variable(inspect, "CO_VARARGS", &CO_VARARGS) &&
#endif
#if !defined(CO_VARKEYWORDS)
        __Pyx_init_co_variable(inspect, "CO_VARKEYWORDS", &CO_VARKEYWORDS) &&
#endif
#if !defined(CO_ASYNC_GENERATOR)
        __Pyx_init_co_variable(inspect, "CO_ASYNC_GENERATOR", &CO_ASYNC_GENERATOR) &&
#endif
#if !defined(CO_GENERATOR)
        __Pyx_init_co_variable(inspect, "CO_GENERATOR", &CO_GENERATOR) &&
#endif
#if !defined(CO_COROUTINE)
        __Pyx_init_co_variable(inspect, "CO_COROUTINE", &CO_COROUTINE) &&
#endif
        1;
    Py_DECREF(inspect);
    return result ? 0 : -1;
}
#else
static int __Pyx_init_co_variables(void) {
    return 0;  // It's a limited API-only feature
}
#endif

/* MathInitCode */
#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
  #ifndef _USE_MATH_DEFINES
    #define _USE_MATH_DEFINES
  #endif
#endif
#include <math.h>
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif

#ifndef CYTHON_CLINE_IN_TRACEBACK_RUNTIME
#define CYTHON_CLINE_IN_TRACEBACK_RUNTIME 0
#endif
#ifndef CYTHON_CLINE_IN_TRACEBACK
#define CYTHON_CLINE_IN_TRACEBACK CYTHON_CLINE_IN_TRACEBACK_RUNTIME
#endif
#if CYTHON_CLINE_IN_TRACEBACK
#define __PYX_MARK_ERR_POS(f_index, lineno)  { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; __pyx_clineno = __LINE__; (void) __pyx_clineno; }
#else
#define __PYX_MARK_ERR_POS(f_index, lineno)  { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; (void) __pyx_clineno; }
#endif
#define __PYX_ERR(f_index, lineno, Ln_error) \
    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }

#ifdef CYTHON_EXTERN_C
    #undef __PYX_EXTERN_C
    #define __PYX_EXTERN_C CYTHON_EXTERN_C
#elif defined(__PYX_EXTERN_C)
    #ifdef _MSC_VER
    #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
    #else
    #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
    #endif
#else
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#define __PYX_HAVE__Cython__Compiler__Code
#define __PYX_HAVE_API__Cython__Compiler__Code
/* Early includes */
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
#define CYTHON_WITHOUT_ASSERTIONS
#endif

#ifdef CYTHON_FREETHREADING_COMPATIBLE
#if CYTHON_FREETHREADING_COMPATIBLE
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_NOT_USED
#else
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED
#endif
#else
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED
#endif
#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
    (sizeof(type) < sizeof(Py_ssize_t))  ||\
    (sizeof(type) > sizeof(Py_ssize_t) &&\
          likely(v < (type)PY_SSIZE_T_MAX ||\
                 v == (type)PY_SSIZE_T_MAX)  &&\
          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
                                v == (type)PY_SSIZE_T_MIN)))  ||\
    (sizeof(type) == sizeof(Py_ssize_t) &&\
          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                               v == (type)PY_SSIZE_T_MAX)))  )
static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
    return (size_t) i < (size_t) limit;
}
#if defined (__cplusplus) && __cplusplus >= 201103L
    #include <cstdlib>
    #define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER)
    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
    #define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyByteArray_AsString(s) PyByteArray_AS_STRING(s)
#else
    #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AsString(s))
    #define __Pyx_PyByteArray_AsString(s) PyByteArray_AsString(s)
#endif
#define __Pyx_PyObject_AsWritableString(s)    ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#define __Pyx_PyUnicode_FromOrdinal(o)       PyUnicode_FromOrdinal((int)o)
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
static CYTHON_INLINE PyObject *__Pyx_NewRef(PyObject *obj) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_NewRef)
    return Py_NewRef(obj);
#else
    Py_INCREF(obj);
    return obj;
#endif
}
static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_XNewRef)
    return Py_XNewRef(obj);
#else
    Py_XINCREF(obj);
    return obj;
#endif
}
static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b);
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x);
#define __Pyx_PySequence_Tuple(obj)\
    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t);
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#if CYTHON_ASSUME_SAFE_MACROS
#define __Pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AS_DOUBLE(x)
#else
#define __Pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AsDouble(x)
#endif
#define __Pyx_PyFloat_AsFloat(x) ((float) __Pyx_PyFloat_AsDouble(x))
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#if CYTHON_USE_PYLONG_INTERNALS
  #if PY_VERSION_HEX >= 0x030C00A7
  #ifndef _PyLong_SIGN_MASK
    #define _PyLong_SIGN_MASK 3
  #endif
  #ifndef _PyLong_NON_SIZE_BITS
    #define _PyLong_NON_SIZE_BITS 3
  #endif
  #define __Pyx_PyLong_Sign(x)  (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)
  #define __Pyx_PyLong_IsNeg(x)  ((__Pyx_PyLong_Sign(x) & 2) != 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (!__Pyx_PyLong_IsNeg(x))
  #define __Pyx_PyLong_IsZero(x)  (__Pyx_PyLong_Sign(x) & 1)
  #define __Pyx_PyLong_IsPos(x)  (__Pyx_PyLong_Sign(x) == 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  (__Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
  #define __Pyx_PyLong_SignedDigitCount(x)\
        ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
  #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
    #define __Pyx_PyLong_IsCompact(x)     PyUnstable_Long_IsCompact((PyLongObject*) x)
    #define __Pyx_PyLong_CompactValue(x)  PyUnstable_Long_CompactValue((PyLongObject*) x)
  #else
    #define __Pyx_PyLong_IsCompact(x)     (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
    #define __Pyx_PyLong_CompactValue(x)  ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
  #endif
  typedef Py_ssize_t  __Pyx_compact_pylong;
  typedef size_t  __Pyx_compact_upylong;
  #else
  #define __Pyx_PyLong_IsNeg(x)  (Py_SIZE(x) < 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (Py_SIZE(x) >= 0)
  #define __Pyx_PyLong_IsZero(x)  (Py_SIZE(x) == 0)
  #define __Pyx_PyLong_IsPos(x)  (Py_SIZE(x) > 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  __Pyx_sst_abs(Py_SIZE(x))
  #define __Pyx_PyLong_SignedDigitCount(x)  Py_SIZE(x)
  #define __Pyx_PyLong_IsCompact(x)  (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
  #define __Pyx_PyLong_CompactValue(x)\
        ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
  typedef sdigit  __Pyx_compact_pylong;
  typedef digit  __Pyx_compact_upylong;
  #endif
  #if PY_VERSION_HEX >= 0x030C00A5
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->long_value.ob_digit)
  #else
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->ob_digit)
  #endif
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#elif __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeASCII(c_str, size, NULL)
#else
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#endif


/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
/* PretendToInitialize */
#ifdef __cplusplus
#if __cplusplus > 201103L
#include <type_traits>
#endif
template <typename T>
static void __Pyx_pretend_to_initialize(T* ptr) {
#if __cplusplus > 201103L
    if ((std::is_trivially_default_constructible<T>::value))
#endif
        *ptr = T();
    (void)ptr;
}
#else
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
#endif


#if !CYTHON_USE_MODULE_STATE
static PyObject *__pyx_m = NULL;
#endif
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * const __pyx_cfilenm = __FILE__;
static const char *__pyx_filename;

/* #### Code section: filename_table ### */

static const char* const __pyx_f[] = {
  "Cython/Compiler/Code.py",
  "Cython/Compiler/Code.pxd",
  "Cython/StringIOTree.pxd",
};
/* #### Code section: utility_code_proto_before_types ### */
/* Atomics.proto (used by UnpackUnboundCMethod) */
#include <pythread.h>
#ifndef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 1
#endif
#define __PYX_CYTHON_ATOMICS_ENABLED() CYTHON_ATOMICS
#define __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __pyx_atomic_int_type int
#define __pyx_nonatomic_int_type int
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__))
    #include <stdatomic.h>
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)))
    #include <atomic>
#endif
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__) &&\
                       ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type atomic_int
    #define __pyx_atomic_ptr_type atomic_uintptr_t
    #define __pyx_nonatomic_ptr_type uintptr_t
    #define __pyx_atomic_incr_relaxed(value) atomic_fetch_add_explicit(value, 1, memory_order_relaxed)
    #define __pyx_atomic_incr_acq_rel(value) atomic_fetch_add_explicit(value, 1, memory_order_acq_rel)
    #define __pyx_atomic_decr_acq_rel(value) atomic_fetch_sub_explicit(value, 1, memory_order_acq_rel)
    #define __pyx_atomic_sub(value, arg) atomic_fetch_sub(value, arg)
    #define __pyx_atomic_int_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
    #define __pyx_atomic_load(value) atomic_load(value)
    #define __pyx_atomic_store(value, new_value) atomic_store(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) atomic_load_explicit(value, memory_order_relaxed)
    #define __pyx_atomic_pointer_load_acquire(value) atomic_load_explicit(value, memory_order_acquire)
    #define __pyx_atomic_pointer_exchange(value, new_value) atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
    #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C atomics"
    #endif
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)) &&\
                    ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type std::atomic_int
    #define __pyx_atomic_ptr_type std::atomic_uintptr_t
    #define __pyx_nonatomic_ptr_type uintptr_t
    #define __pyx_atomic_incr_relaxed(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_relaxed)
    #define __pyx_atomic_incr_acq_rel(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_acq_rel)
    #define __pyx_atomic_decr_acq_rel(value) std::atomic_fetch_sub_explicit(value, 1, std::memory_order_acq_rel)
    #define __pyx_atomic_sub(value, arg) std::atomic_fetch_sub(value, arg)
    #define __pyx_atomic_int_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
    #define __pyx_atomic_load(value) std::atomic_load(value)
    #define __pyx_atomic_store(value, new_value) std::atomic_store(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) std::atomic_load_explicit(value, std::memory_order_relaxed)
    #define __pyx_atomic_pointer_load_acquire(value) std::atomic_load_explicit(value, std::memory_order_acquire)
    #define __pyx_atomic_pointer_exchange(value, new_value) std::atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
    #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C++ atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C++ atomics"
    #endif
#elif CYTHON_ATOMICS && (__GNUC__ >= 5 || (__GNUC__ == 4 &&\
                    (__GNUC_MINOR__ > 1 ||\
                    (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ >= 2))))
    #define __pyx_atomic_ptr_type void*
    #define __pyx_nonatomic_ptr_type void*
    #define __pyx_atomic_incr_relaxed(value) __sync_fetch_and_add(value, 1)
    #define __pyx_atomic_incr_acq_rel(value) __sync_fetch_and_add(value, 1)
    #define __pyx_atomic_decr_acq_rel(value) __sync_fetch_and_sub(value, 1)
    #define __pyx_atomic_sub(value, arg) __sync_fetch_and_sub(value, arg)
    static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
        __pyx_nonatomic_int_type old = __sync_val_compare_and_swap(value, *expected, desired);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #define __pyx_atomic_load(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_store(value, new_value) __sync_lock_test_and_set(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_pointer_load_acquire(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_pointer_exchange(value, new_value) __sync_lock_test_and_set(value, (__pyx_atomic_ptr_type)new_value)
    static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
        __pyx_nonatomic_ptr_type old = __sync_val_compare_and_swap(value, *expected, desired);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Using GNU atomics"
    #endif
#elif CYTHON_ATOMICS && defined(_MSC_VER)
    #include <intrin.h>
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type long
    #define __pyx_atomic_ptr_type void*
    #undef __pyx_nonatomic_int_type
    #define __pyx_nonatomic_int_type long
    #define __pyx_nonatomic_ptr_type void*
    #pragma intrinsic (_InterlockedExchangeAdd, _InterlockedExchange, _InterlockedCompareExchange, _InterlockedCompareExchangePointer, _InterlockedExchangePointer)
    #define __pyx_atomic_incr_relaxed(value) _InterlockedExchangeAdd(value, 1)
    #define __pyx_atomic_incr_acq_rel(value) _InterlockedExchangeAdd(value, 1)
    #define __pyx_atomic_decr_acq_rel(value) _InterlockedExchangeAdd(value, -1)
    #define __pyx_atomic_sub(value, arg) _InterlockedExchangeAdd(value, -arg)
    static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
        __pyx_nonatomic_int_type old = _InterlockedCompareExchange(value, desired, *expected);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #define __pyx_atomic_load(value) _InterlockedExchangeAdd(value, 0)
    #define __pyx_atomic_store(value, new_value) _InterlockedExchange(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) *(void * volatile *)value
    #define __pyx_atomic_pointer_load_acquire(value) _InterlockedCompareExchangePointer(value, 0, 0)
    #define __pyx_atomic_pointer_exchange(value, new_value) _InterlockedExchangePointer(value, (__pyx_atomic_ptr_type)new_value)
    static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
        __pyx_atomic_ptr_type old = _InterlockedCompareExchangePointer(value, desired, *expected);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #ifdef __PYX_DEBUG_ATOMICS
        #pragma message ("Using MSVC atomics")
    #endif
#else
    #undef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 0
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Not using atomics"
    #endif
#endif

/* CriticalSectionsDefinition.proto (used by CriticalSections) */
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyCriticalSection void*
#define __Pyx_PyCriticalSection2 void*
#define __Pyx_PyCriticalSection_End(cs)
#define __Pyx_PyCriticalSection2_End(cs)
#else
#define __Pyx_PyCriticalSection PyCriticalSection
#define __Pyx_PyCriticalSection2 PyCriticalSection2
#define __Pyx_PyCriticalSection_End PyCriticalSection_End
#define __Pyx_PyCriticalSection2_End PyCriticalSection2_End
#endif

/* CriticalSections.proto (used by ParseKeywordsImpl) */
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyCriticalSection_Begin(cs, arg) (void)(cs)
#define __Pyx_PyCriticalSection2_Begin(cs, arg1, arg2) (void)(cs)
#else
#define __Pyx_PyCriticalSection_Begin PyCriticalSection_Begin
#define __Pyx_PyCriticalSection2_Begin PyCriticalSection2_Begin
#endif
#if PY_VERSION_HEX < 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_BEGIN_CRITICAL_SECTION(o) {
#define __Pyx_END_CRITICAL_SECTION() }
#else
#define __Pyx_BEGIN_CRITICAL_SECTION Py_BEGIN_CRITICAL_SECTION
#define __Pyx_END_CRITICAL_SECTION Py_END_CRITICAL_SECTION
#endif

/* IncludeStructmemberH.proto (used by FixUpExtensionType) */
#include <structmember.h>

/* #### Code section: numeric_typedefs ### */
/* #### Code section: complex_type_declarations ### */
/* #### Code section: type_declarations ### */

/*--- Type declarations ---*/
struct __pyx_obj_6Cython_12StringIOTree_StringIOTree;
struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode;
struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase;
struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode;
struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState;
struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst;
struct __pyx_obj_6Cython_8Compiler_4Code_StringConst;
struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst;
struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter;
struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter;
struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter;
struct __pyx_defaults;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter;
struct __pyx_opt_args_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code;
struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label;
struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const;
struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln;

/* "Cython/Compiler/Code.pxd":10
 * 
 * cdef class UtilityCodeBase(AbstractUtilityCode):
 *     cpdef format_code(self, code_string, replace_empty_lines=*)             # <<<<<<<<<<<<<<
 * 
 * 
*/
struct __pyx_opt_args_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code {
  int __pyx_n;
  PyObject *replace_empty_lines;
};

/* "Cython/Compiler/Code.pxd":72
 *     cdef public bint needs_refnanny
 * 
 *     cpdef new_label(self, name=*)             # <<<<<<<<<<<<<<
 *     cpdef tuple get_loop_labels(self)
 *     cpdef set_loop_labels(self, labels)
*/
struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label {
  int __pyx_n;
  PyObject *name;
};

/* "Cython/Compiler/Code.pxd":97
 *     cdef public bint c_used
 * 
 *     cpdef get_py_string_const(self, encoding, identifier=*)             # <<<<<<<<<<<<<<
 * 
 * 
*/
struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const {
  int __pyx_n;
  PyObject *identifier;
};

/* "Cython/Compiler/Code.pxd":130
 *     cpdef put(self, code)
 *     cpdef put_safe(self, code)
 *     cpdef putln(self, code=*, bint safe=*)             # <<<<<<<<<<<<<<
 *     cdef emit_marker(self)
 *     cdef _build_marker(self, tuple pos)
*/
struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln {
  int __pyx_n;
  PyObject *code;
  int safe;
};

/* "StringIOTree.pxd":5
 * cdef object StringIO
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * cdef class StringIOTree:
 *     cdef public list prepended_children
*/
struct __pyx_obj_6Cython_12StringIOTree_StringIOTree {
  PyObject_HEAD
  struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree *__pyx_vtab;
  PyObject *prepended_children;
  PyObject *stream;
  PyObject *write;
  PyObject *markers;
};


/* "Cython/Compiler/Code.pxd":5
 * 
 * 
 * cdef class AbstractUtilityCode:             # <<<<<<<<<<<<<<
 *     pass
 * 
*/
struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode {
  PyObject_HEAD
};


/* "Cython/Compiler/Code.pxd":9
 * 
 * 
 * cdef class UtilityCodeBase(AbstractUtilityCode):             # <<<<<<<<<<<<<<
 *     cpdef format_code(self, code_string, replace_empty_lines=*)
 * 
*/
struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase {
  struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode __pyx_base;
  struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_vtab;
};


/* "Cython/Compiler/Code.pxd":13
 * 
 * 
 * cdef class UtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     cdef public object name
 *     cdef public object proto
*/
struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode {
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase __pyx_base;
  PyObject *name;
  PyObject *proto;
  PyObject *__pyx_export;
  PyObject *impl;
  PyObject *init;
  PyObject *cleanup;
  PyObject *proto_block;
  PyObject *module_state_decls;
  PyObject *module_state_traverse;
  PyObject *module_state_clear;
  PyObject *__pyx_requires;
  PyObject *_cache;
  PyObject *specialize_list;
  PyObject *file;
  PyObject *_parts_tuple;
  PyObject *shared_utility_functions;
};


/* "Cython/Compiler/Code.pxd":37
 * 
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * cdef class FunctionState:
 *     cdef set names_taken
*/
struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState {
  PyObject_HEAD
  struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *__pyx_vtab;
  PyObject *names_taken;
  PyObject *owner;
  PyObject *scope;
  PyObject *error_label;
  size_t label_counter;
  PyObject *labels_used;
  PyObject *return_label;
  PyObject *continue_label;
  PyObject *break_label;
  PyObject *yield_labels;
  PyObject *return_from_error_cleanup_label;
  PyObject *exc_vars;
  PyObject *current_except;
  int can_trace;
  int gil_owned;
  PyObject *temps_allocated;
  PyObject *temps_free;
  PyObject *temps_used_type;
  PyObject *zombie_temps;
  size_t temp_counter;
  PyObject *collect_temps_stack;
  PyObject *closure_temps;
  int should_declare_error_indicator;
  int uses_error_indicator;
  int error_without_exception;
  int needs_refnanny;
};


/* "Cython/Compiler/Code.pxd":83
 * 
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * cdef class PyObjectConst:
 *     cdef readonly object cname
*/
struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst {
  PyObject_HEAD
  PyObject *cname;
  PyObject *type;
};


/* "Cython/Compiler/Code.pxd":89
 * 
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * cdef class StringConst:
 *     cdef readonly object cname
*/
struct __pyx_obj_6Cython_8Compiler_4Code_StringConst {
  PyObject_HEAD
  struct __pyx_vtabstruct_6Cython_8Compiler_4Code_StringConst *__pyx_vtab;
  PyObject *cname;
  PyObject *text;
  PyObject *escaped_value;
  PyObject *py_strings;
  int c_used;
};


/* "Cython/Compiler/Code.pxd":100
 * 
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * cdef class PyStringConst:
 *     cdef readonly object cname
*/
struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst {
  PyObject_HEAD
  PyObject *cname;
  PyObject *encoding;
  int is_unicode;
  int intern;
};


/* "Cython/Compiler/Code.pxd":112
 * #def funccontext_property(name):
 * 
 * cdef class CCodeWriter(object):             # <<<<<<<<<<<<<<
 *     cdef readonly StringIOTree buffer
 *     cdef readonly list pyclass_stack
*/
struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter {
  PyObject_HEAD
  struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *__pyx_vtab;
  struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *buffer;
  PyObject *pyclass_stack;
  PyObject *globalstate;
  struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *funcstate;
  PyObject *code_config;
  PyObject *last_pos;
  PyObject *last_marked_pos;
  Py_ssize_t level;
  Py_ssize_t call_level;
  int bol;
};


/* "Cython/Compiler/Code.pxd":138
 * 
 * 
 * cdef class PyrexCodeWriter:             # <<<<<<<<<<<<<<
 *     cdef readonly object f
 *     cdef readonly Py_ssize_t level
*/
struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter {
  PyObject_HEAD
  PyObject *f;
  Py_ssize_t level;
};


/* "Cython/Compiler/Code.pxd":143
 * 
 * 
 * cdef class PyxCodeWriter:             # <<<<<<<<<<<<<<
 *     cdef public StringIOTree buffer
 *     cdef public object context
*/
struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter {
  PyObject_HEAD
  struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *buffer;
  PyObject *context;
  PyObject *encoding;
  Py_ssize_t level;
  Py_ssize_t original_level;
  PyObject *_insertion_points;
};


/* "Cython/Compiler/Code.py":905
 * 
 * 
 * def add_macro_processor(*macro_names, regex=None, is_module_specific=False, _last_macro_processor = [None]):             # <<<<<<<<<<<<<<
 *     """Decorator to chain the code macro processors below.
 *     """
*/
struct __pyx_defaults {
  PyObject_HEAD
  PyObject *arg0;
};


/* "Cython/Compiler/Code.py":641
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):
 *         """
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string {
  PyObject_HEAD
  PyObject *__pyx_v_impls;
  PyObject *__pyx_v_prepend;
  PyObject *__pyx_v_protos;
};


/* "Cython/Compiler/Code.py":721
 *     code_parts = ["proto", "export", "impl", "init", "cleanup", "module_state_decls", "module_state_traverse", "module_state_clear"]
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,             # <<<<<<<<<<<<<<
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ {
  PyObject_HEAD
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self;
};


/* "Cython/Compiler/Code.py":745
 * 
 *         # cached for use in hash and eq
 *         self._parts_tuple = tuple(getattr(self, part, None) for part in self.code_parts)             # <<<<<<<<<<<<<<
 * 
 *     def parse_export_functions(self, export_proto: str) -> list:
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr {
  PyObject_HEAD
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *__pyx_outer_scope;
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_part;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
  PyObject *(*__pyx_t_2)(PyObject *);
};


/* "Cython/Compiler/Code.py":905
 * 
 * 
 * def add_macro_processor(*macro_names, regex=None, is_module_specific=False, _last_macro_processor = [None]):             # <<<<<<<<<<<<<<
 *     """Decorator to chain the code macro processors below.
 *     """
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor {
  PyObject_HEAD
  PyObject *__pyx_v__last_macro_processor;
  PyObject *__pyx_v_is_module_specific;
  PyObject *__pyx_v_last_processor;
  PyObject *__pyx_v_macro_names;
  PyObject *__pyx_v_regex;
};


/* "Cython/Compiler/Code.py":910
 *     last_processor = _last_macro_processor[0]
 * 
 *     def build_processor(func):             # <<<<<<<<<<<<<<
 *         @wraps(func)
 *         def process(utility_code: UtilityCode, output, code_string: str):
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor {
  PyObject_HEAD
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *__pyx_outer_scope;
  PyObject *__pyx_v_func;
};


/* "Cython/Compiler/Code.py":955
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'             # <<<<<<<<<<<<<<
 *         for line in content.splitlines())
 * 
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_line;
};


/* "Cython/Compiler/Code.py":2520
 * 
 * 
 * def funccontext_property(func):             # <<<<<<<<<<<<<<
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property {
  PyObject_HEAD
  PyObject *__pyx_v_attribute_of;
  PyObject *__pyx_v_name;
};


/* "Cython/Compiler/Code.py":2674
 *     def yield_labels(self): pass
 * 
 *     def label_interceptor(self, new_labels, orig_labels, skip_to_label=None, pos=None, trace=True):             # <<<<<<<<<<<<<<
 *         """
 *         Helper for generating multiple label interceptor code blocks.
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor {
  PyObject_HEAD
  PyObject *__pyx_v_label;
  PyObject *__pyx_v_new_labels;
  PyObject *__pyx_v_orig_label;
  PyObject *__pyx_v_orig_labels;
  PyObject *__pyx_v_pos;
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self;
  PyObject *__pyx_v_skip_to_label;
  PyObject *__pyx_v_trace;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
  PyObject *(*__pyx_t_2)(PyObject *);
};


/* "Cython/Compiler/Code.py":3630
 *         self.level -= levels
 * 
 *     @contextmanager             # <<<<<<<<<<<<<<
 *     def indenter(self, line):
 *         """
*/
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter {
  PyObject_HEAD
  PyObject *__pyx_v_line;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self;
};



/* "StringIOTree.pxd":5
 * cdef object StringIO
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * cdef class StringIOTree:
 *     cdef public list prepended_children
*/

struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree {
  int (*empty)(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *, int __pyx_skip_dispatch);
  PyObject *(*getvalue)(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *, int __pyx_skip_dispatch);
  PyObject *(*_collect_in)(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *, PyObject *);
  PyObject *(*copyto)(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*commit)(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *, int __pyx_skip_dispatch);
  PyObject *(*allmarkers)(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree *__pyx_vtabptr_6Cython_12StringIOTree_StringIOTree;


/* "Cython/Compiler/Code.py":415
 * 
 * 
 * class UtilityCodeBase(AbstractUtilityCode):             # <<<<<<<<<<<<<<
 *     """
 *     Support for loading utility code from a file.
*/

struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCodeBase {
  PyObject *(*format_code)(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code *__pyx_optional_args);
};
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCodeBase;


/* "Cython/Compiler/Code.py":699
 *     params: str
 * 
 * class UtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     """
 *     Stores utility code to add during code generation.
*/

struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode {
  struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCodeBase __pyx_base;
  PyObject *(*none_or_sub)(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *, PyObject *, PyObject *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *__pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCode;


/* "Cython/Compiler/Code.py":1106
 * 
 * 
 * class FunctionState:             # <<<<<<<<<<<<<<
 *     # return_label     string          function return point label
 *     # error_label      string          error catch point label
*/

struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState {
  PyObject *(*new_label)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label *__pyx_optional_args);
  PyObject *(*get_loop_labels)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
  PyObject *(*set_loop_labels)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*get_all_labels)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
  PyObject *(*set_all_labels)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*start_collecting_temps)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
  PyObject *(*stop_collecting_temps)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
  PyObject *(*temps_in_use)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *__pyx_vtabptr_6Cython_8Compiler_4Code_FunctionState;
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label *__pyx_optional_args);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, PyObject *, int __pyx_skip_dispatch);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, PyObject *, int __pyx_skip_dispatch);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_start_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_stop_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_temps_in_use(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch);


/* "Cython/Compiler/Code.py":1406
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
 * 
 * class StringConst:             # <<<<<<<<<<<<<<
 *     """Global info about a C string constant held by GlobalState.
 *     """
*/

struct __pyx_vtabstruct_6Cython_8Compiler_4Code_StringConst {
  PyObject *(*get_py_string_const)(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const *__pyx_optional_args);
};
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_StringConst *__pyx_vtabptr_6Cython_8Compiler_4Code_StringConst;
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11StringConst_get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const *__pyx_optional_args);


/* "Cython/Compiler/Code.py":2541
 * 
 * 
 * class CCodeWriter:             # <<<<<<<<<<<<<<
 *     """
 *     Utility class to output C code.
*/

struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter {
  PyObject *(*write)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*_write_lines)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *);
  PyObject *(*_write_to_buffer)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*put_multilines)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *);
  PyObject *(*put)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*put_safe)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*putln)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln *__pyx_optional_args);
  PyObject *(*emit_marker)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
  PyObject *(*_build_marker)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *);
  PyObject *(*increase_indent)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
  PyObject *(*decrease_indent)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
  PyObject *(*indent)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
};
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *__pyx_vtabptr_6Cython_8Compiler_4Code_CCodeWriter;
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_multilines(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_emit_marker(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__build_marker(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_increase_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_decrease_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *);
/* #### Code section: utility_code_proto ### */

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, Py_ssize_t);
    void (*DECREF)(void*, PyObject*, Py_ssize_t);
    void (*GOTREF)(void*, PyObject*, Py_ssize_t);
    void (*GIVEREF)(void*, PyObject*, Py_ssize_t);
    void* (*SetupContext)(const char*, Py_ssize_t, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          if (acquire_gil) {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
              PyGILState_Release(__pyx_gilstate_save);\
          } else {\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
          }
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_XINCREF(r)  do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContextNogil()
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_Py_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; Py_XDECREF(tmp);\
    } while (0)
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

/* PyErrExceptionMatches.proto (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
#else
#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
#endif

/* PyThreadStateGet.proto (used by PyErrFetchRestore) */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#if PY_VERSION_HEX >= 0x030C00A6
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->current_exception != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
#else
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->curexc_type != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->curexc_type)
#endif
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  (PyErr_Occurred() != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  PyErr_Occurred()
#endif

/* PyErrFetchRestore.proto (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
#else
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#endif
#else
#define __Pyx_PyErr_Clear() PyErr_Clear()
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
#endif

/* PyObjectGetAttrStr.proto (used by PyObjectGetAttrStrNoError) */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

/* PyObjectGetAttrStrNoError.proto (used by GetBuiltinName) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);

/* GetBuiltinName.proto */
static PyObject *__Pyx_GetBuiltinName(PyObject *name);

/* TupleAndListFromArray.proto (used by fastcall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
#endif
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
#endif

/* IncludeStringH.proto (used by BytesEquals) */
#include <string.h>

/* BytesEquals.proto (used by UnicodeEquals) */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);

/* UnicodeEquals.proto (used by fastcall) */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);

/* fastcall.proto */
#if CYTHON_AVOID_BORROWED_REFS
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_PySequence_ITEM(args, i)
#elif CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_NewRef(__Pyx_PyTuple_GET_ITEM(args, i))
#else
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_XNewRef(PyTuple_GetItem(args, i))
#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
#if CYTHON_METH_FASTCALL
    #define __Pyx_ArgRef_FASTCALL(args, i) __Pyx_NewRef(args[i])
    #define __Pyx_NumKwargs_FASTCALL(kwds) __Pyx_PyTuple_GET_SIZE(kwds)
    #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
    static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
    CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
  #else
    #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
  #endif
#else
    #define __Pyx_ArgRef_FASTCALL __Pyx_ArgRef_VARARGS
    #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
    #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
    #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
    #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
#endif
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
#if CYTHON_METH_FASTCALL || (CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(args + start, stop - start)
#else
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
#endif

/* py_dict_items.proto (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);

/* CallCFunction.proto (used by CallUnboundCMethod0) */
#define __Pyx_CallCFunction(cfunc, self, args)\
    ((PyCFunction)(void(*)(void))(cfunc)->func)(self, args)
#define __Pyx_CallCFunctionWithKeywords(cfunc, self, args, kwargs)\
    ((PyCFunctionWithKeywords)(void(*)(void))(cfunc)->func)(self, args, kwargs)
#define __Pyx_CallCFunctionFast(cfunc, self, args, nargs)\
    ((__Pyx_PyCFunctionFast)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs)
#define __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, nargs, kwnames)\
    ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs, kwnames)

/* PyObjectCall.proto (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
#else
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif

/* PyObjectCallMethO.proto (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

/* PyObjectFastCall.proto (used by PyObjectCallOneArg) */
#define __Pyx_PyObject_FastCall(func, args, nargs)  __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject * const*args, size_t nargs, PyObject *kwargs);

/* PyObjectCallOneArg.proto (used by CallUnboundCMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);

/* UnpackUnboundCMethod.proto (used by CallUnboundCMethod0) */
typedef struct {
    PyObject *type;
    PyObject **method_name;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && CYTHON_ATOMICS
    __pyx_atomic_int_type initialized;
#endif
    PyCFunction func;
    PyObject *method;
    int flag;
} __Pyx_CachedCFunction;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
static CYTHON_INLINE int __Pyx_CachedCFunction_GetAndSetInitializing(__Pyx_CachedCFunction *cfunc) {
#if !CYTHON_ATOMICS
    return 1;
#else
    __pyx_nonatomic_int_type expected = 0;
    if (__pyx_atomic_int_cmp_exchange(&cfunc->initialized, &expected, 1)) {
        return 0;
    }
    return expected;
#endif
}
static CYTHON_INLINE void __Pyx_CachedCFunction_SetFinishedInitializing(__Pyx_CachedCFunction *cfunc) {
#if CYTHON_ATOMICS
    __pyx_atomic_store(&cfunc->initialized, 2);
#endif
}
#else
#define __Pyx_CachedCFunction_GetAndSetInitializing(cfunc) 2
#define __Pyx_CachedCFunction_SetFinishedInitializing(cfunc)
#endif

/* CallUnboundCMethod0.proto */
CYTHON_UNUSED
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#else
#define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
#endif

/* py_dict_values.proto (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);

/* OwnedDictNext.proto (used by ParseKeywordsImpl) */
#if CYTHON_AVOID_BORROWED_REFS
static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue);
#else
CYTHON_INLINE
static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue);
#endif

/* RaiseDoubleKeywords.proto (used by ParseKeywordsImpl) */
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);

/* ParseKeywordsImpl.export */
static int __Pyx_ParseKeywordsTuple(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs
);
static int __Pyx_ParseKeywordDictToDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name
);
static int __Pyx_ParseKeywordDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs
);

/* CallUnboundCMethod2.proto */
CYTHON_UNUSED
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2);
#else
#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2)  __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2)
#endif

/* ParseKeywords.proto */
static CYTHON_INLINE int __Pyx_ParseKeywords(
    PyObject *kwds, PyObject *const *kwvalues, PyObject ** const argnames[],
    PyObject *kwds2, PyObject *values[],
    Py_ssize_t num_pos_args, Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs
);

/* RaiseArgTupleInvalid.proto */
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);

/* PyObjectDelAttr.proto (used by PyObjectSetAttrStr) */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
#define __Pyx_PyObject_DelAttr(o, n) PyObject_SetAttr(o, n, NULL)
#else
#define __Pyx_PyObject_DelAttr(o, n) PyObject_DelAttr(o, n)
#endif

/* PyObjectSetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
#else
#define __Pyx_PyObject_DelAttrStr(o,n)   __Pyx_PyObject_DelAttr(o,n)
#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
#endif

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
#endif

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck, unsafe_shared) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared);
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck, int unsafe_shared);

/* PyObjectFastCallMethod.proto */
#if CYTHON_VECTORCALL && PY_VERSION_HEX >= 0x03090000
#define __Pyx_PyObject_FastCallMethod(name, args, nargsf) PyObject_VectorcallMethod(name, args, nargsf, NULL)
#else
static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *const *args, size_t nargsf);
#endif

/* SetItemInt.proto */
#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck, unsafe_shared) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
               __Pyx_SetItemInt_Generic(o, to_py_func(i), v)))
static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v);
static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v,
                                               int is_list, int wraparound, int boundscheck, int unsafe_shared);

/* PySequenceContains.proto */
static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
    int result = PySequence_Contains(seq, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* ObjectGetItem.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key);
#else
#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
#endif

/* PyDictVersioning.proto (used by GetModuleGlobalName) */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
    (version_var) = __PYX_GET_DICT_VERSION(dict);\
    (cache_var) = (value);
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
        (VAR) = __Pyx_XNewRef(__pyx_dict_cached_value);\
    } else {\
        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
    }\
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
#else
#define __PYX_GET_DICT_VERSION(dict)  (0)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
#endif

/* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name)  do {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_mstate_global->__pyx_d))) ?\
        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
    PY_UINT64_T __pyx_dict_version;\
    PyObject *__pyx_dict_cached_value;\
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
#else
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
#endif

/* PyObjectVectorCallKwBuilder.proto (used by PyObjectVectorCallMethodKwBuilder) */
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n);
#if CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03090000
#define __Pyx_Object_Vectorcall_CallFromBuilder PyObject_Vectorcall
#else
#define __Pyx_Object_Vectorcall_CallFromBuilder _PyObject_Vectorcall
#endif
#define __Pyx_MakeVectorcallBuilderKwds(n) PyTuple_New(n)
static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n);
static int __Pyx_VectorcallBuilder_AddArgStr(const char *key, PyObject *value, PyObject *builder, PyObject **args, int n);
#else
#define __Pyx_Object_Vectorcall_CallFromBuilder __Pyx_PyObject_FastCallDict
#define __Pyx_MakeVectorcallBuilderKwds(n) __Pyx_PyDict_NewPresized(n)
#define __Pyx_VectorcallBuilder_AddArg(key, value, builder, args, n) PyDict_SetItem(builder, key, value)
#define __Pyx_VectorcallBuilder_AddArgStr(key, value, builder, args, n) PyDict_SetItemString(builder, key, value)
#endif

/* PyObjectVectorCallMethodKwBuilder.proto */
#if CYTHON_VECTORCALL && PY_VERSION_HEX >= 0x03090000
#define __Pyx_Object_VectorcallMethod_CallFromBuilder PyObject_VectorcallMethod
#else
static PyObject *__Pyx_Object_VectorcallMethod_CallFromBuilder(PyObject *name, PyObject *const *args, size_t nargsf, PyObject *kwnames);
#endif

/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
#define __Pyx_PyObject_LookupSpecial(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 1)
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error);
#else
#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n)
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* GetTopmostException.proto (used by SaveResetException) */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
#endif

/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
#endif

/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* KeywordStringCheck.proto */
static CYTHON_INLINE int __Pyx_CheckKeywordStrings(const char* function_name, PyObject *kw);

/* DictGetItem.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
#define __Pyx_PyObject_Dict_GetItem(obj, name)\
    (likely(PyDict_CheckExact(obj)) ?\
     __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
#else
#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
#endif

/* PyKeyError_Check.proto */
#define __Pyx_PyExc_KeyError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_KeyError)

/* PyValueError_Check.proto */
#define __Pyx_PyExc_ValueError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_ValueError)

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2) {
    return PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2);
}
#endif
#define __Pyx_PyErr_ExceptionMatches2(err1, err2)  __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
#ifdef PyExceptionInstance_Check
  #define __Pyx_PyBaseException_Check(obj) PyExceptionInstance_Check(obj)
#else
  #define __Pyx_PyBaseException_Check(obj) __Pyx_TypeCheck(obj, PyExc_BaseException)
#endif

/* PyRuntimeError_Check.proto */
#define __Pyx_PyExc_RuntimeError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_RuntimeError)

/* PyObjectFormatSimple.proto */
#if CYTHON_COMPILING_IN_PYPY
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        PyObject_Format(s, f))
#elif CYTHON_USE_TYPE_SLOTS
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\
        likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\
        PyObject_Format(s, f))
#else
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        PyObject_Format(s, f))
#endif

/* PyObjectFormat.proto */
#if CYTHON_USE_UNICODE_WRITER
static PyObject* __Pyx_PyObject_Format(PyObject* s, PyObject* f);
#else
#define __Pyx_PyObject_Format(s, f) PyObject_Format(s, f)
#endif

/* JoinPyUnicode.export */
static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength,
                                      Py_UCS4 max_char);

/* RaiseException.export */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

/* SwapException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* IterFinish.proto (used by dict_iter) */
static CYTHON_INLINE int __Pyx_IterFinish(void);

/* PyObjectCallNoArg.proto (used by PyObjectCallMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);

/* PyObjectGetMethod.proto (used by PyObjectCallMethod0) */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
#endif

/* PyObjectCallMethod0.proto (used by dict_iter) */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);

/* RaiseNeedMoreValuesToUnpack.proto (used by UnpackTuple2) */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);

/* RaiseTooManyValuesToUnpack.proto (used by UnpackItemEndCheck) */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);

/* UnpackItemEndCheck.proto (used by UnpackTuple2) */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);

/* RaiseNoneIterError.proto (used by UnpackTupleError) */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);

/* UnpackTupleError.proto (used by UnpackTuple2) */
static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);

/* UnpackTuple2.proto (used by dict_iter) */
static CYTHON_INLINE int __Pyx_unpack_tuple2(
    PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple);
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
    PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
static int __Pyx_unpack_tuple2_generic(
    PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);

/* dict_iter.proto */
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_is_dict);
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);

/* dict_setdefault.proto (used by FetchCommonType) */
static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value);

/* LimitedApiGetTypeDict.proto (used by SetItemOnTypeDict) */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp);
#endif

/* SetItemOnTypeDict.proto (used by FixUpExtensionType) */
static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v);
#define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v)

/* FixUpExtensionType.proto (used by FetchCommonType) */
static CYTHON_INLINE int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);

/* AddModuleRef.proto (used by FetchSharedCythonModule) */
#if ((CYTHON_COMPILING_IN_CPYTHON_FREETHREADING ) ||\
     __PYX_LIMITED_VERSION_HEX < 0x030d0000)
  static PyObject *__Pyx_PyImport_AddModuleRef(const char *name);
#else
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#endif

/* FetchSharedCythonModule.proto (used by FetchCommonType) */
static PyObject *__Pyx_FetchSharedCythonABIModule(void);

/* FetchCommonType.proto (used by CommonTypesMetaclass) */
static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases);

/* CommonTypesMetaclass.proto (used by CythonFunctionShared) */
static int __pyx_CommonTypesMetaclass_init(PyObject *module);
#define __Pyx_CommonTypesMetaclass_USED

/* CallTypeTraverse.proto (used by CythonFunctionShared) */
#if !CYTHON_USE_TYPE_SPECS || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x03090000)
#define __Pyx_call_type_traverse(o, always_call, visit, arg) 0
#else
static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg);
#endif

/* PyMethodNew.proto (used by CythonFunctionShared) */
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ);

/* PyVectorcallFastCallDict.proto (used by CythonFunctionShared) */
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
#endif

/* CythonFunctionShared.proto (used by CythonFunction) */
#define __Pyx_CyFunction_USED
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CYFUNCTION_COROUTINE     0x08
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_CyFunction_GetClassObj(f)\
      (((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
  #define __Pyx_CyFunction_GetClassObj(f)\
      ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
#endif
#define __Pyx_CyFunction_SetClassObj(f, classobj)\
    __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
#define __Pyx_CyFunction_Defaults(type, f)\
    ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
    ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject_HEAD
    PyObject *func;
#elif PY_VERSION_HEX < 0x030900B1
    PyCFunctionObject func;
#else
    PyCMethodObject func;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API && CYTHON_METH_FASTCALL
    __pyx_vectorcallfunc func_vectorcall;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_weakreflist;
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_dict;
#endif
    PyObject *func_name;
    PyObject *func_qualname;
    PyObject *func_doc;
    PyObject *func_globals;
    PyObject *func_code;
    PyObject *func_closure;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_classobj;
#endif
    PyObject *defaults;
    int flags;
    PyObject *defaults_tuple;
    PyObject *defaults_kwdict;
    PyObject *(*defaults_getter)(PyObject *);
    PyObject *func_annotations;
    PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj)  __Pyx_TypeCheck(obj, __pyx_mstate_global->__pyx_CyFunctionType)
#define __Pyx_CyOrPyCFunction_Check(obj)  __Pyx_TypeCheck2(obj, __pyx_mstate_global->__pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj)  __Pyx_IS_TYPE(obj, __pyx_mstate_global->__pyx_CyFunctionType)
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void));
#undef __Pyx_IsSameCFunction
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func,
                                                         PyTypeObject *defaults_type);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
                                                            PyObject *tuple);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
                                                             PyObject *dict);
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
                                                              PyObject *dict);
static int __pyx_CyFunction_init(PyObject *module);
#if CYTHON_METH_FASTCALL
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
#if CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
#else
#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
#endif
#endif

/* CythonFunction.proto */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);

/* ListAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

/* SliceObject.proto */
#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)\
    __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)
static CYTHON_INLINE int __Pyx_PyObject_SetSlice(
        PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop,
        PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
        int has_cstart, int has_cstop, int wraparound);

/* AssertionsEnabled.proto */
#if CYTHON_COMPILING_IN_LIMITED_API  ||  PY_VERSION_HEX >= 0x030C0000
  static int __pyx_assertions_enabled_flag;
  #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
  #if __clang__ || __GNUC__
  __attribute__((no_sanitize("thread")))
  #endif
  static int __Pyx_init_assertions_enabled(void) {
    PyObject *builtins, *debug, *debug_str;
    int flag;
    builtins = PyEval_GetBuiltins();
    if (!builtins) goto bad;
    debug_str = PyUnicode_FromStringAndSize("__debug__", 9);
    if (!debug_str) goto bad;
    debug = PyObject_GetItem(builtins, debug_str);
    Py_DECREF(debug_str);
    if (!debug) goto bad;
    flag = PyObject_IsTrue(debug);
    Py_DECREF(debug);
    if (flag == -1) goto bad;
    __pyx_assertions_enabled_flag = flag;
    return 0;
  bad:
    __pyx_assertions_enabled_flag = 1;
    return -1;
  }
#else
  #define __Pyx_init_assertions_enabled()  (0)
  #define __pyx_assertions_enabled()  (!Py_OptimizeFlag)
#endif

/* PyAssertionError_Check.proto */
#define __Pyx_PyExc_AssertionError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_AssertionError)

/* PyDictContains.proto */
static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) {
    int result = PyDict_Contains(dict, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* ListCompAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len)) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif

/* RaiseClosureNameError.proto */
static void __Pyx_RaiseClosureNameError(const char *varname);

/* PyObjectFormatAndDecref.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f);
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f);

/* RaiseUnboundLocalError.proto */
static void __Pyx_RaiseUnboundLocalError(const char *varname);

/* GetAttr3.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);

/* pep479.proto */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen);

/* RaiseUnexpectedTypeError.proto */
static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj);

/* ArgTypeTestFunc.export */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))

/* PyUnicodeContains.proto */
static CYTHON_INLINE int __Pyx_PyUnicode_ContainsTF(PyObject* substring, PyObject* text, int eq) {
    int result = PyUnicode_Contains(text, substring);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

/* SliceObject.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
        PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
        PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
        int has_cstart, int has_cstop, int wraparound);

/* BuildPyUnicode.proto (used by COrdinalToPyUnicode) */
static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, const char* chars, int clength,
                                                int prepend_sign, char padding_char);

/* COrdinalToPyUnicode.proto (used by CIntToPyUnicode) */
static CYTHON_INLINE int __Pyx_CheckUnicodeValue(int value);
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(int value, Py_ssize_t width, char padding_char);

/* GCCDiagnostics.proto (used by CIntToPyUnicode) */
#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif

/* IncludeStdlibH.proto (used by CIntToPyUnicode) */
#include <stdlib.h>

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char);

/* UnicodeConcatInPlace.proto */
# if CYTHON_COMPILING_IN_CPYTHON
    #if CYTHON_REFNANNY
        #define __Pyx_PyUnicode_ConcatInPlace(left, right, unsafe_shared) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, unsafe_shared, __pyx_refnanny)
    #else
        #define __Pyx_PyUnicode_ConcatInPlace(left, right, unsafe_shared) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, unsafe_shared)
    #endif
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_DefinitelyUnique)
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_OwnStrongReference)
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_DefinitelyUnique)
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_SharedReference)
    static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right, int unsafe_shared
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    );
#else
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlace __Pyx_PyUnicode_Concat
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace __Pyx_PyUnicode_Concat
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlace __Pyx_PyUnicode_Concat
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlace __Pyx_PyUnicode_Concat
#endif
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlace(left, right))
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(left, right))
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlace(left, right))
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlace(left, right))

/* HasAttr.proto (used by ImportImpl) */
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_HasAttr(o, n)  PyObject_HasAttrWithError(o, n)
#else
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
#endif

/* ImportImpl.export */
static PyObject *__Pyx__Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict, int level);

/* Import.proto */
static CYTHON_INLINE PyObject *__Pyx_Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, int level);

/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);

/* MergeKeywords.proto */
static int __Pyx_MergeKeywords(PyObject *kwdict, PyObject *source_mapping);

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_size_t(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_size_t(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_size_t(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_size_t(size_t value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_size_t(size_t value, Py_ssize_t width, char padding_char, char format_char);

/* pyfrozenset_new.proto (used by PySetContains) */
static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it);

/* PySetContains.proto */
static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq);

/* dict_getitem_default.proto */
static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value);

/* PyObjectCall2Args.proto (used by CallUnboundCMethod1) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

/* CallUnboundCMethod1.proto */
CYTHON_UNUSED
static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
#else
#define __Pyx_CallUnboundCMethod1(cfunc, self, arg)  __Pyx__CallUnboundCMethod1(cfunc, self, arg)
#endif

/* pop.proto */
static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L);
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L);
#define __Pyx_PyObject_Pop(L) (likely(PyList_CheckExact(L)) ?\
    __Pyx_PyList_Pop(L) : __Pyx__PyObject_Pop(L))
#else
#define __Pyx_PyList_Pop(L)  __Pyx__PyObject_Pop(L)
#define __Pyx_PyObject_Pop(L)  __Pyx__PyObject_Pop(L)
#endif

/* PyUnicode_Unicode.proto */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj);

/* PyObjectCallMethod1.proto (used by append) */
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);

/* append.proto */
static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);

/* ExtTypeTest.proto */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);

/* StringJoin.proto */
static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);

/* PyLongCompare.proto */
static CYTHON_INLINE int __Pyx_PyLong_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_AndObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceAnd(op1, op2) : PyNumber_And(op1, op2))
#endif

/* SetStringIndexingError.proto (used by GetItemIntBytes) */
static void __Pyx_SetStringIndexingError(const char* message, int has_gil);

/* GetItemIntBytes.proto */
#define __Pyx_GetItemInt_Bytes(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Bytes_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, has_gil) :\
    (__Pyx_SetStringIndexingError("string index out of range", has_gil), -1))
static CYTHON_INLINE int __Pyx_GetItemInt_Bytes_Fast(PyObject* bytes, Py_ssize_t index,
                                                     int wraparound, int boundscheck, int has_gil);

/* ByteArrayAppend.proto */
static CYTHON_INLINE int __Pyx_PyByteArray_Append(PyObject* bytearray, int value);

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_RshiftObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_RshiftObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceRshift(op1, op2) : PyNumber_Rshift(op1, op2))
#endif

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_FloorDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_FloorDivideObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceFloorDivide(op1, op2) : PyNumber_FloorDivide(op1, op2))
#endif

/* PyUnicode_Substring.proto */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Substring(
            PyObject* text, Py_ssize_t start, Py_ssize_t stop);

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_long(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_long(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_long(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char, char format_char);

/* decode_c_string_utf16.proto (used by decode_c_bytes) */
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 0;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = -1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}

/* decode_c_bytes.proto (used by decode_bytes) */
static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
         const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));

/* decode_bytes.proto */
static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
         PyObject* string, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
    char* as_c_string;
    Py_ssize_t size;
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
    as_c_string = PyBytes_AS_STRING(string);
    size = PyBytes_GET_SIZE(string);
#else
    if (PyBytes_AsStringAndSize(string, &as_c_string, &size) < 0) {
        return NULL;
    }
#endif
    return __Pyx_decode_c_bytes(
        as_c_string, size,
        start, stop, encoding, errors, decode_func);
}

/* PyObject_Unicode.proto */
#define __Pyx_PyObject_Unicode(obj)\
    (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))

/* SliceTupleAndList.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
#else
#define __Pyx_PyList_GetSlice(seq, start, stop)   PySequence_GetSlice(seq, start, stop)
#define __Pyx_PyTuple_GetSlice(seq, start, stop)  PySequence_GetSlice(seq, start, stop)
#endif

/* ListExtend.proto */
static CYTHON_INLINE int __Pyx_PyList_Extend(PyObject* L, PyObject* v) {
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00a2
    return PyList_Extend(L, v);
#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000
    PyObject* none = _PyList_Extend((PyListObject*)L, v);
    if (unlikely(!none))
        return -1;
    Py_DECREF(none);
    return 0;
#else
    return PyList_SetSlice(L, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, v);
#endif
}

/* RejectKeywords.export */
static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds);

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_bint(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_bint(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_bint(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_bint(int value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_bint(int value, Py_ssize_t width, char padding_char, char format_char);

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
#endif

/* PyFileExistsError_Check.proto */
#define __Pyx_PyExc_FileExistsError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_FileExistsError)

/* PyPermissionError_Check.proto */
#define __Pyx_PyExc_PermissionError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_PermissionError)

/* PySequenceMultiply.proto */
#define __Pyx_PySequence_Multiply_Left(mul, seq)  __Pyx_PySequence_Multiply(seq, mul)
#if !CYTHON_USE_TYPE_SLOTS
#define  __Pyx_PySequence_Multiply PySequence_Repeat
#else
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul);
#endif

/* DelItemInt.proto */
#define __Pyx_DelItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_DelItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
               __Pyx_DelItem_Generic(o, to_py_func(i))))
static int __Pyx_DelItem_Generic(PyObject *o, PyObject *j);
static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i,
                                               int is_list, int wraparound);

/* unicode_iter.proto */
static CYTHON_INLINE int __Pyx_init_unicode_iteration(
    PyObject* ustring, Py_ssize_t *length, void** data, int *kind);

/* pop_index.proto */
static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix);
static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix);
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix);
#define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\
    (likely(PyList_CheckExact(L) && __Pyx_fits_Py_ssize_t(ix, type, is_signed))) ?\
        __Pyx__PyList_PopIndex(L, py_ix, ix) : (\
        (unlikely((py_ix) == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\
            __Pyx__PyObject_PopIndex(L, py_ix)))
#define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\
    __Pyx_fits_Py_ssize_t(ix, type, is_signed) ?\
        __Pyx__PyList_PopIndex(L, py_ix, ix) : (\
        (unlikely((py_ix) == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\
            __Pyx__PyObject_PopIndex(L, py_ix)))
#else
#define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func)\
    __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func)
#define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\
    (unlikely((py_ix) == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\
        __Pyx__PyObject_PopIndex(L, py_ix))
#endif

/* AllocateExtensionType.proto */
static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t, int is_final);

/* CallNextTpTraverse.proto */
static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);

/* CallNextTpClear.proto */
static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear);

/* CheckTypeForFreelists.proto */
#if CYTHON_USE_FREELISTS
#if CYTHON_USE_TYPE_SPECS
#define __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, expected_tp, expected_size) ((int) ((t) == (expected_tp)))
#define __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS  Py_TPFLAGS_IS_ABSTRACT
#else
#define __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, expected_tp, expected_size) ((int) ((t)->tp_basicsize == (expected_size)))
#define __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS  (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)
#endif
#define __PYX_CHECK_TYPE_FOR_FREELISTS(t, expected_tp, expected_size)\
    (__PYX_CHECK_FINAL_TYPE_FOR_FREELISTS((t), (expected_tp), (expected_size)) &\
     (int) (!__Pyx_PyType_HasFeature((t), __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS)))
#endif

/* ValidateBasesTuple.proto (used by PyType_Ready) */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
#endif

/* PyType_Ready.proto */
CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);

/* SetVTable.proto */
static int __Pyx_SetVtable(PyTypeObject* typeptr , void* vtable);

/* GetVTable.proto (used by MergeVTables) */
static void* __Pyx_GetVtable(PyTypeObject *type);

/* MergeVTables.proto */
static int __Pyx_MergeVtables(PyTypeObject *type);

/* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto_3_2_4
#define __PYX_HAVE_RT_ImportType_proto_3_2_4
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#include <stdalign.h>
#endif
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
#define __PYX_GET_STRUCT_ALIGNMENT_3_2_4(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_3_2_4(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_3_2_4 {
   __Pyx_ImportType_CheckSize_Error_3_2_4 = 0,
   __Pyx_ImportType_CheckSize_Warn_3_2_4 = 1,
   __Pyx_ImportType_CheckSize_Ignore_3_2_4 = 2
};
static PyTypeObject *__Pyx_ImportType_3_2_4(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_2_4 check_size);
#endif

/* VoidPtrImport.proto */
static int __Pyx_ImportVoidPtr_3_2_4(PyObject *module, const char *name, void **p, const char *sig);

/* PyImportError_Check.proto */
#define __Pyx_PyExc_ImportError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_ImportError)

/* ListPack.proto */
static PyObject *__Pyx_PyList_Pack(Py_ssize_t n, ...);

/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
#else
#define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
#endif

/* CalculateMetaclass.proto (used by Py3ClassCreate) */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);

/* Py3ClassCreate.proto */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
                                           PyObject *mkw, PyObject *modname, PyObject *doc);
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
                                      PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);

/* GetNameInClass.proto */
#define __Pyx_GetNameInClass(var, nmspace, name)  (var) = __Pyx__GetNameInClass(nmspace, name)
static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name);

/* ClassMethod.proto */
#if !CYTHON_COMPILING_IN_LIMITED_API
#include "descrobject.h"
#endif
CYTHON_UNUSED static PyObject* __Pyx_Method_ClassMethod(PyObject *method);

/* Py3UpdateBases.proto */
static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);

/* CyFunctionClassCell.proto */
static int __Pyx_CyFunction_InitClassCell(PyObject *cyfunctions, PyObject *classobj);

/* CLineInTraceback.proto (used by AddTraceback) */
#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#else
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#endif

/* CodeObjectCache.proto (used by AddTraceback) */
#if CYTHON_COMPILING_IN_LIMITED_API
typedef PyObject __Pyx_CachedCodeObjectType;
#else
typedef PyCodeObject __Pyx_CachedCodeObjectType;
#endif
typedef struct {
    __Pyx_CachedCodeObjectType* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_atomic_int_type accessor_count;
  #endif
};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object);

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* UnicodeAsUCS4.proto */
static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject*);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyLong_As_size_t(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_int(unsigned int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_char(char value);

/* ObjectAsUCS4.proto */
static Py_UCS4 __Pyx__PyObject_AsPy_UCS4(PyObject*);
static CYTHON_INLINE Py_UCS4 __Pyx_PyObject_AsPy_UCS4(PyObject *x) {
    return (likely(PyUnicode_Check(x)) ? __Pyx_PyUnicode_AsPy_UCS4(x) : __Pyx__PyObject_AsPy_UCS4(x));
}

/* FormatTypeName.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
typedef PyObject *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%U"
#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_PyType_GetFullyQualifiedName PyType_GetFullyQualifiedName
#else
static __Pyx_TypeName __Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp);
#endif
#else  // !LIMITED_API
typedef const char *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%.200s"
#define __Pyx_PyType_GetFullyQualifiedName(tp) ((tp)->tp_name)
#define __Pyx_DECREF_TypeName(obj)
#endif

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *);

/* GetRuntimeVersion.proto */
#if __PYX_LIMITED_VERSION_HEX < 0x030b0000
static unsigned long __Pyx_cached_runtime_version = 0;
static void __Pyx_init_runtime_version(void);
#else
#define __Pyx_init_runtime_version()
#endif
static unsigned long __Pyx_get_runtime_version(void);

/* IterNextPlain.proto (used by CoroutineBase) */
static CYTHON_INLINE PyObject *__Pyx_PyIter_Next_Plain(PyObject *iterator);
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject *__Pyx_GetBuiltinNext_LimitedAPI(void);
#endif

/* ReturnWithStopIteration.proto (used by CoroutineBase) */
static CYTHON_INLINE void __Pyx_ReturnWithStopIteration(PyObject* value, int async, int iternext);

/* CoroutineBase.proto (used by Generator) */
struct __pyx_CoroutineObject;
typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *);
#if CYTHON_USE_EXC_INFO_STACK
#define __Pyx_ExcInfoStruct  _PyErr_StackItem
#else
typedef struct {
    PyObject *exc_type;
    PyObject *exc_value;
    PyObject *exc_traceback;
} __Pyx_ExcInfoStruct;
#endif
typedef struct __pyx_CoroutineObject {
    PyObject_HEAD
    __pyx_coroutine_body_t body;
    PyObject *closure;
    __Pyx_ExcInfoStruct gi_exc_state;
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *gi_weakreflist;
#endif
    PyObject *classobj;
    PyObject *yieldfrom;
    __Pyx_pyiter_sendfunc yieldfrom_am_send;
    PyObject *gi_name;
    PyObject *gi_qualname;
    PyObject *gi_modulename;
    PyObject *gi_code;
    PyObject *gi_frame;
#if CYTHON_USE_SYS_MONITORING && (CYTHON_PROFILE || CYTHON_TRACE)
    PyMonitoringState __pyx_pymonitoring_state[__Pyx_MonitoringEventTypes_CyGen_count];
    uint64_t __pyx_pymonitoring_version;
#endif
    int resume_label;
    char is_running;
} __pyx_CoroutineObject;
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
    PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
    PyObject *name, PyObject *qualname, PyObject *module_name);
static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name);
static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
static int __Pyx_Coroutine_clear(PyObject *self);
static __Pyx_PySendResult __Pyx_Coroutine_AmSend(PyObject *self, PyObject *value, PyObject **retval);
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
static __Pyx_PySendResult __Pyx_Coroutine_Close(PyObject *self, PyObject **retval);
static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
#if CYTHON_USE_EXC_INFO_STACK
#define __Pyx_Coroutine_SwapException(self)
#define __Pyx_Coroutine_ResetAndClearException(self)  __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
#else
#define __Pyx_Coroutine_SwapException(self) {\
    __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
    __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
    }
#define __Pyx_Coroutine_ResetAndClearException(self) {\
    __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
    (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
    }
#endif
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
    __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
#else
#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
#endif
static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
static char __Pyx_Coroutine_test_and_set_is_running(__pyx_CoroutineObject *gen);
static void __Pyx_Coroutine_unset_is_running(__pyx_CoroutineObject *gen);
static char __Pyx_Coroutine_get_is_running(__pyx_CoroutineObject *gen);
static PyObject *__Pyx_Coroutine_get_is_running_getter(PyObject *gen, void *closure);
#if __PYX_HAS_PY_AM_SEND == 2
static void __Pyx_SetBackportTypeAmSend(PyTypeObject *type, __Pyx_PyAsyncMethodsStruct *static_amsend_methods, __Pyx_pyiter_sendfunc am_send);
#endif
static PyObject *__Pyx_Coroutine_fail_reduce_ex(PyObject *self, PyObject *arg);

/* Generator.proto */
#define __Pyx_Generator_USED
#define __Pyx_Generator_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_mstate_global->__pyx_GeneratorType)
#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
    __Pyx__Coroutine_New(__pyx_mstate_global->__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
static PyObject *__Pyx_Generator_Next(PyObject *self);
static int __pyx_Generator_init(PyObject *module);
static CYTHON_INLINE PyObject *__Pyx_Generator_GetInlinedResult(PyObject *self);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);

/* DecompressString.proto */
static PyObject *__Pyx_DecompressString(const char *s, Py_ssize_t length, int algo);

/* MultiPhaseInitModuleState.proto */
#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
static PyObject *__Pyx_State_FindModule(void*);
static int __Pyx_State_AddModule(PyObject* module, void*);
static int __Pyx_State_RemoveModule(void*);
#elif CYTHON_USE_MODULE_STATE
#define __Pyx_State_FindModule PyState_FindModule
#define __Pyx_State_AddModule PyState_AddModule
#define __Pyx_State_RemoveModule PyState_RemoveModule
#endif

/* #### Code section: module_declarations ### */
/* CythonABIVersion.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
    #if CYTHON_METH_FASTCALL
        #define __PYX_FASTCALL_ABI_SUFFIX  "_fastcall"
    #else
        #define __PYX_FASTCALL_ABI_SUFFIX
    #endif
    #define __PYX_LIMITED_ABI_SUFFIX "limited" __PYX_FASTCALL_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX
#else
    #define __PYX_LIMITED_ABI_SUFFIX
#endif
#if __PYX_HAS_PY_AM_SEND == 1
    #define __PYX_AM_SEND_ABI_SUFFIX
#elif __PYX_HAS_PY_AM_SEND == 2
    #define __PYX_AM_SEND_ABI_SUFFIX "amsendbackport"
#else
    #define __PYX_AM_SEND_ABI_SUFFIX "noamsend"
#endif
#ifndef __PYX_MONITORING_ABI_SUFFIX
    #define __PYX_MONITORING_ABI_SUFFIX
#endif
#if CYTHON_USE_TP_FINALIZE
    #define __PYX_TP_FINALIZE_ABI_SUFFIX
#else
    #define __PYX_TP_FINALIZE_ABI_SUFFIX "nofinalize"
#endif
#if CYTHON_USE_FREELISTS || !defined(__Pyx_AsyncGen_USED)
    #define __PYX_FREELISTS_ABI_SUFFIX
#else
    #define __PYX_FREELISTS_ABI_SUFFIX "nofreelists"
#endif
#define CYTHON_ABI  __PYX_ABI_VERSION __PYX_LIMITED_ABI_SUFFIX __PYX_MONITORING_ABI_SUFFIX __PYX_TP_FINALIZE_ABI_SUFFIX __PYX_FREELISTS_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."

static PyObject *__pyx_f_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, PyObject *__pyx_v_code_string, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11UtilityCode_none_or_sub(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_temps_in_use(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_start_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_stop_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11StringConst_get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_encoding, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_write(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_to_buffer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_putln(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_emit_marker(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__build_marker(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_safe(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_multilines(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_increase_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_decrease_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto*/

/* Module declarations from "cython" */

/* Module declarations from "Cython.StringIOTree" */
static PyObject **__pyx_vp_6Cython_12StringIOTree_StringIO = 0;
#define __pyx_v_6Cython_12StringIOTree_StringIO (*__pyx_vp_6Cython_12StringIOTree_StringIO)

/* Module declarations from "Cython.Compiler.Code" */
static PyObject *__pyx_v_6Cython_8Compiler_4Code_os = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_re = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_operator = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_textwrap = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_Template = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_Naming = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_Options = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_StringEncoding = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_Utils = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_SourceDescriptor = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_DebugFlags = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_defaultdict = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_closing = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_partial = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_wraps = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_zlib_compress = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_bz2_compress = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_zstd_compress = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_special_py_methods = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_cleanup_level_for_type_prefix = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_replace_identifier = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_find_alphanums = 0;
static PyObject *__pyx_f_6Cython_8Compiler_4Code__indent_chunk(PyObject *, int, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_6Cython_8Compiler_4Code__count_indentation(PyObject *); /*proto*/
/* #### Code section: typeinfo ### */
/* #### Code section: before_global_var ### */
#define __Pyx_MODULE_NAME "Cython.Compiler.Code"
extern int __pyx_module_is_main_Cython__Compiler__Code;
int __pyx_module_is_main_Cython__Compiler__Code = 0;

/* Implementation of "Cython.Compiler.Code" */
/* #### Code section: global_var ### */
static PyObject *__pyx_builtin_staticmethod;
static PyObject *__pyx_builtin_vars;
static PyObject *__pyx_builtin_enumerate;
static PyObject *__pyx_builtin_super;
static PyObject *__pyx_builtin_zip;
static PyObject *__pyx_builtin_map;
static PyObject *__pyx_builtin_max;
static PyObject *__pyx_builtin_reversed;
static PyObject *__pyx_builtin_property;
/* #### Code section: string_decls ### */
/* #### Code section: decls ### */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_include, PyObject *__pyx_v_verbatim, PyObject *__pyx_v_late, PyObject *__pyx_v_initial); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_2dict_update(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_d, PyObject *__pyx_v_key); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_4sortkey(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_6mainpiece(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_8write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_get_utility_dir(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_2read_utilities_from_utility_dir(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_put_code(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_globalstate, CYTHON_UNUSED PyObject *__pyx_v_used_by); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_2get_tree(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_4get_shared_library_scope(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_get_special_comment_matcher(PyObject *__pyx_v_line_comment_char); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_2_add_utility(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_utility, PyObject *__pyx_v_name, PyObject *__pyx_v_type, PyObject *__pyx_v_lines, PyObject *__pyx_v_begin_lineno, PyObject *__pyx_v_tags); /* proto */
static PyObject *__pyx_lambda_funcdef_lambda(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_4load_utilities_from_file(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_6load(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_util_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_cached(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_utility_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v__UtilityCodeBase__cache); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_prepend(PyObject *__pyx_self, PyObject *__pyx_v_util_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_10load_as_string(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_util_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_include_requires, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_12format_code(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, PyObject *__pyx_v_code_string, PyObject *__pyx_v_replace_empty_lines); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14__repr__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_16get_tree(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_18get_shared_library_scope(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_20__deepcopy__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memodict); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8__init___genexpr(PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode___init__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_proto, PyObject *__pyx_v_impl, PyObject *__pyx_v_init, PyObject *__pyx_v_cleanup, PyObject *__pyx_v_module_state_decls, PyObject *__pyx_v_module_state_traverse, PyObject *__pyx_v_module_state_clear, PyObject *__pyx_v_requires, PyObject *__pyx_v_proto_block, PyObject *__pyx_v_name, PyObject *__pyx_v_file, PyObject *__pyx_v_export); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_2parse_export_functions(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_export_proto); /* proto */
static Py_hash_t __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4__hash__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6__eq__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8none_or_sub(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_10specialize(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_pyrex_type, PyObject *__pyx_v_data); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12_validate_suitable_for_sharing(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14_put_code_section(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_writer, PyObject *__pyx_v_output, PyObject *__pyx_v_code_type, PyObject *__pyx_v_used_by); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_16_put_init_code_section(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_output); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18_put_shared_function_declarations(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_20put_code(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_globalstate, PyObject *__pyx_v_used_by); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18module_state_decls___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_21module_state_traverse___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18module_state_clear___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12_parts_tuple___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_26__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_process(PyObject *__pyx_self, struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility_code, PyObject *__pyx_v_output, PyObject *__pyx_v_code_string); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19add_macro_processor_build_processor(PyObject *__pyx_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_4add_macro_processor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_regex, PyObject *__pyx_v_is_module_specific, PyObject *__pyx_v__last_macro_processor, PyObject *__pyx_v_macro_names); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_14_wrap_c_string_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_6_wrap_c_string(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v__, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_8_format_impl_code(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility_code, CYTHON_UNUSED PyObject *__pyx_v__, PyObject *__pyx_v_impl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_10_inject_unbound_method(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_12_inject_string_constant(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_14_inject_empty_collection_constant(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_16_inject_cglobal(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18process_utility_ccode(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_utility_code, CYTHON_UNUSED PyObject *__pyx_v__, PyObject *__pyx_v_code_string); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_28__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20sub_tempita(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context, PyObject *__pyx_v_file, PyObject *__pyx_v_name, PyObject *__pyx_v___cache); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_proto, PyObject *__pyx_v_impl, PyObject *__pyx_v_init, PyObject *__pyx_v_file, PyObject *__pyx_v_context, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_30__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode_2load_cached(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_utility_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_context, PyObject *__pyx_v__TempitaUtilityCode__cache); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode_4none_or_sub(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15LazyUtilityCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15LazyUtilityCode_2put_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_globalstate, PyObject *__pyx_v_used_by); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState___init__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_owner, PyObject *__pyx_v_names_taken, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_2validate_exit(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_4new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_6new_yield_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_expr_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8new_error_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_prefix); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12set_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14new_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_prefix); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_16get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_18set_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20all_new_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_22use_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_24label_used(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_26allocate_temp(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_manage_ref, PyObject *__pyx_v_static, PyObject *__pyx_v_reusable); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_28release_temp(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30temps_in_use(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_32temps_holding_reference(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_34all_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_36all_free_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_38start_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_40stop_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_42init_closure_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13label_counter___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13label_counter_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12yield_labels___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9can_trace___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9can_trace_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9gil_owned___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13closure_temps___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_8NumConst___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_value, PyObject *__pyx_v_py_type, PyObject *__pyx_v_value_code); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst___init__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_text, PyObject *__pyx_v_byte_string); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_2get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_identifier); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_6c_used___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_6c_used_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_encoding, PyObject *__pyx_v_intern, PyObject *__pyx_v_is_unicode); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_2__lt__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_5cname___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_8encoding___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_10is_unicode___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_6intern___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_writer, PyObject *__pyx_v_module_node, PyObject *__pyx_v_code_config, PyObject *__pyx_v_common_utility_include_dir); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_2initialize_main_c_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_4initialize_main_h_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_6finalize_main_c_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_8__getitem__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_10close_global_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_12put_pyobject_decl(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_14get_cached_constants_writer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_16get_int_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_longness); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_18get_float_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_value_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_20get_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_prefix, PyObject *__pyx_v_dedup_key); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22get_argument_default_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_24get_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_c_used); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_26get_pyunicode_ptr_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_28get_py_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_30get_py_codeobj_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_32get_interned_identifier(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_34new_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_byte_string); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_36new_num_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value, PyObject *__pyx_v_py_type, PyObject *__pyx_v_value_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_38new_string_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_bytes_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_40unique_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_format_str); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_42new_num_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value, PyObject *__pyx_v_py_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_44new_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_prefix, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_46new_array_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_prefix); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_48get_cached_unbound_method(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type_cname, PyObject *__pyx_v_method_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_50cached_unbound_method_call_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modulestate_cname, PyObject *__pyx_v_obj_cname, PyObject *__pyx_v_type_cname, PyObject *__pyx_v_method_name, PyObject *__pyx_v_arg_cnames); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_52add_cached_builtin_decl(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_54put_cached_builtin_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_name, PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_56generate_const_declarations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_58_generate_module_array_traverse_and_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_struct_attr_cname, PyObject *__pyx_v_count, PyObject *__pyx_v_may_have_refcycles); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_60generate_object_constant_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_62generate_cached_methods_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_64generate_string_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_66generate_pystring_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text_strings, PyObject *__pyx_v_byte_strings); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_68generate_codeobject_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_store_array(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_w, PyObject *__pyx_v_name, PyObject *__pyx_v_ctype, PyObject *__pyx_v_constants); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_2generate_forloop_start(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_w, Py_ssize_t __pyx_v_end); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_4assign_constant(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_w, PyObject *__pyx_v_error_pos, PyObject *__pyx_v_rhs_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_6define_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_defines, PyObject *__pyx_v_constants, Py_ssize_t __pyx_v_start_offset); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_8to_base32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_number); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_70generate_num_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_72immortalize_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array_cname, PyObject *__pyx_v_constant_count, PyObject *__pyx_v_writer); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_74should_declare(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_76lookup_filename(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_source_desc); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_78commented_file_contents(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_source_desc); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_80use_utility_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_utility_code, PyObject *__pyx_v_used_by); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_82use_entry_utility_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20funccontext_property_get(PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20funccontext_property_2set(PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_22funccontext_property(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeConfig___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_emit_linenums, PyObject *__pyx_v_emit_code_comments, PyObject *__pyx_v_c_line_in_traceback); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter___init__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_create_from, PyObject *__pyx_v_buffer, PyObject *__pyx_v_copy_formatting); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_2create_new(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_create_from, PyObject *__pyx_v_buffer, PyObject *__pyx_v_copy_formatting); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_4set_global_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_global_state); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6copyto(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_f); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_8getvalue(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10write(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_12_write_to_buffer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_14insertion_point(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_16new_writer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_18insert(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_writer); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_20label_counter(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_22return_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_24error_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_26labels_used(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_28continue_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_30break_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_32return_from_error_cleanup_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_34yield_labels(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_36label_interceptor(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_new_labels, PyObject *__pyx_v_orig_labels, PyObject *__pyx_v_skip_to_label, PyObject *__pyx_v_pos, PyObject *__pyx_v_trace); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_39new_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_41new_error_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_43new_yield_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_45get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_47set_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_labels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_49new_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_51get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_53set_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_labels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_55all_new_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_57use_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_59label_used(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_61enter_cfunc_scope(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_63exit_cfunc_scope(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_65start_initcfunc(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_signature, PyObject *__pyx_v_scope, PyObject *__pyx_v_refnanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_67start_slotfunc(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_class_scope, PyObject *__pyx_v_return_type, PyObject *__pyx_v_c_slot_name, PyObject *__pyx_v_args_signature, PyObject *__pyx_v_needs_funcstate, PyObject *__pyx_v_needs_prototype); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_69get_py_int(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_longness); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_71get_py_float(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_value_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_73get_py_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_prefix, PyObject *__pyx_v_dedup_key); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_75get_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_77get_pyunicode_ptr_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_79get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_81get_py_codeobj_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_83get_argument_default_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_85intern(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_87intern_identifier(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_89get_cached_constants_writer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_91name_in_module_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_93name_in_main_c_code_module_state(PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_95name_in_slot_module_state(PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_97namespace_cname_in_module_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_99typeptr_cname_in_module_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_101putln(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, int __pyx_v_safe); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_103mark_pos(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_trace); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_105write_trace_line(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_107put_safe(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_109put_or_include(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_111put(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_113put_code_here(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_115begin_block(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_117end_block(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_119get_py_version_hex(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pyversion); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_121put_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_123put_goto(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_125put_var_declaration(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_storage_class, PyObject *__pyx_v_dll_linkage, PyObject *__pyx_v_definition); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_127put_temp_declarations(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_func_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_129put_generated_by(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_131put_h_guard(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_guard); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_133unlikely(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_135build_function_modifiers(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_modifiers, PyObject *__pyx_v_mapper); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_137entry_as_pyobject(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_139as_pyobject(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_141put_gotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_143put_giveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_145put_xgiveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_147put_xgotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_149put_incref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_151put_xincref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_153put_decref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_155put_xdecref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_157put_decref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_clear_before_decref, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_159put_xdecref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_clear_before_decref, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_161put_decref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_rhs_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_163put_xdecref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_rhs_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_165put_incref_memoryviewslice(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_slice_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_167put_var_incref_memoryviewslice(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_169put_var_gotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_171put_var_giveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_173put_var_xgotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_175put_var_xgiveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_177put_var_incref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_179put_var_xincref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_181put_var_decref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_183put_var_xdecref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_185put_var_decref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_187put_var_decref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_rhs_cname, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_189put_var_xdecref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_rhs_cname, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_191put_var_xdecref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_193put_var_decrefs(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entries, PyObject *__pyx_v_used_only); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_195put_var_xdecrefs(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entries); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_197put_var_xdecrefs_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entries); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_199put_make_object_deferred(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_201put_init_to_py_none(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_203put_init_var_to_py_none(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_template, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_205put_pymethoddef(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_term, PyObject *__pyx_v_allow_skip, PyObject *__pyx_v_wrapper_code_writer); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_207put_pymethoddef_wrapper(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_209use_fast_gil_utility_code(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_211put_ensure_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_declare_gilstate, PyObject *__pyx_v_variable); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_213put_release_ensured_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_variable); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_215put_acquire_freethreading_lock(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_217put_release_freethreading_lock(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_219put_acquire_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_variable, PyObject *__pyx_v_unknown_gil_state); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_221put_release_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_variable, PyObject *__pyx_v_unknown_gil_state); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_223declare_gilstate(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_225put_error_if_neg(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_227put_error_if_unbound(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_entry, PyObject *__pyx_v_in_nogil_context, PyObject *__pyx_v_unbound_check_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_229set_error_info(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_used); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_231error_goto(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_used); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_233error_goto_if(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_235error_goto_if_null(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_237error_goto_if_neg(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_239error_goto_if_PyErr(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_241lookup_filename(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_243put_declare_refcount_context(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_245put_setup_refcount_context(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_acquire_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_247put_finish_refcount_context(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_249put_add_traceback(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_qualified_name, PyObject *__pyx_v_include_cline); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_251put_unraisable(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_qualified_name, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_253is_tracing(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_255pos_to_offset(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_257put_trace_declarations(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_is_generator); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_259put_trace_frame_init(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_codeobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_261put_trace_start(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_pos, PyObject *__pyx_v_nogil, PyObject *__pyx_v_is_generator, PyObject *__pyx_v_is_cpdef_func); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_263put_trace_exit(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_265put_trace_yield(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_retvalue_cname, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_267put_trace_resume(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_269put_trace_exception(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_reraise, PyObject *__pyx_v_fresh); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_271put_trace_exception_propagating(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_273put_trace_exception_handled(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_275put_trace_unwind(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_277put_trace_stopiteration(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_279put_trace_return(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_retvalue_cname, PyObject *__pyx_v_pos, PyObject *__pyx_v_return_type, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_281put_cpp_placement_new(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_target, PyObject *__pyx_v__utility_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_283putln_openmp(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_string); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_285undef_builtin_expect(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_287redef_builtin_expect(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6buffer___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_13pyclass_stack___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_11globalstate___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_9funcstate___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10call_level___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self, PyObject *__pyx_v_outfile_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_2putln(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self, PyObject *__pyx_v_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_4indent(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_6dedent(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_buffer, PyObject *__pyx_v_indent_level, PyObject *__pyx_v_context, PyObject *__pyx_v_encoding); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_2indent(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_levels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_4dedent(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_levels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_line); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_9empty(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_11getvalue(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_13putln(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_line, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_chunk, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_19reset(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_21named_insertion_point(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_23__getitem__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_24_indent_chunk(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_chunk, int __pyx_v_indentation_length); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_klass); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator_2reset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator_4allocate_temp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_AbstractUtilityCode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_UtilityCodeBase(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_UtilityCode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_FunctionState(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyObjectConst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_StringConst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyStringConst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_CCodeWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyrexCodeWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyxCodeWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_defaults(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
/* #### Code section: late_includes ### */
/* #### Code section: module_state ### */
/* SmallCodeConfig */
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
    #define CYTHON_SMALL_CODE
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
    #define CYTHON_SMALL_CODE __attribute__((cold))
#else
    #define CYTHON_SMALL_CODE
#endif
#endif

typedef struct {
  PyObject *__pyx_d;
  PyObject *__pyx_b;
  PyObject *__pyx_cython_runtime;
  PyObject *__pyx_empty_tuple;
  PyObject *__pyx_empty_bytes;
  PyObject *__pyx_empty_unicode;
  PyTypeObject *__pyx_ptype_6Cython_12StringIOTree_StringIOTree;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_UtilityCode;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_FunctionState;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_PyObjectConst;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_StringConst;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_PyStringConst;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_CCodeWriter;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter;
  PyObject *__pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_defaults;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor;
  PyObject *__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_FunctionState;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_StringConst;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor;
  PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_get;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values;
  __Pyx_CachedCFunction __pyx_umethod_PyList_Type_pop;
  __Pyx_CachedCFunction __pyx_umethod_PyByteArray_Type__reverse;
  __Pyx_CachedCFunction __pyx_umethod_PyUnicode_Type__strip;
  PyObject *__pyx_k__12;
  PyObject *__pyx_k__13;
  PyObject *__pyx_k__37;
  PyObject *__pyx_k__70;
  PyObject *__pyx_k__77;
  PyObject *__pyx_slice[6];
  PyObject *__pyx_tuple[57];
  PyObject *__pyx_codeobj_tab[282];
  PyObject *__pyx_string_tab[2087];
  PyObject *__pyx_number_tab[15];
/* #### Code section: module_state_contents ### */
/* CommonTypesMetaclass.module_state_decls */
PyTypeObject *__pyx_CommonTypesMetaclassType;

/* CachedMethodType.module_state_decls */
#if CYTHON_COMPILING_IN_LIMITED_API
PyObject *__Pyx_CachedMethodType;
#endif

/* CythonFunctionShared.module_state_decls */
PyTypeObject *__pyx_CyFunctionType;


#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter[8];
int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter;
#endif
/* CodeObjectCache.module_state_decls */
struct __Pyx_CodeObjectCache __pyx_code_cache;

/* IterNextPlain.module_state_decls */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
PyObject *__Pyx_GetBuiltinNext_LimitedAPI_cache;
#endif

/* Generator.module_state_decls */
PyTypeObject *__pyx_GeneratorType;

/* #### Code section: module_state_end ### */
} __pyx_mstatetype;

#if CYTHON_USE_MODULE_STATE
#ifdef __cplusplus
namespace {
extern struct PyModuleDef __pyx_moduledef;
} /* anonymous namespace */
#else
static struct PyModuleDef __pyx_moduledef;
#endif

#define __pyx_mstate_global (__Pyx_PyModule_GetState(__Pyx_State_FindModule(&__pyx_moduledef)))

#define __pyx_m (__Pyx_State_FindModule(&__pyx_moduledef))
#else
static __pyx_mstatetype __pyx_mstate_global_static =
#ifdef __cplusplus
    {};
#else
    {0};
#endif
static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_static;
#endif
/* #### Code section: constant_name_defines ### */
#define __pyx_kp_u_ __pyx_string_tab[0]
#define __pyx_kp_u_0 __pyx_string_tab[1]
#define __pyx_kp_u_042 __pyx_string_tab[2]
#define __pyx_kp_u_0_0 __pyx_string_tab[3]
#define __pyx_kp_u_0_2 __pyx_string_tab[4]
#define __pyx_kp_u_0_3 __pyx_string_tab[5]
#define __pyx_kp_u_0_9_w __pyx_string_tab[6]
#define __pyx_kp_u_0x_02X_02X_02X_02X __pyx_string_tab[7]
#define __pyx_kp_u_1 __pyx_string_tab[8]
#define __pyx_kp_u_Acquiring_the_GIL_is_currently_v __pyx_string_tab[9]
#define __pyx_kp_u_An_include_file_and_or_verbatim __pyx_string_tab[10]
#define __pyx_kp_u_CALL_UNBOUND_METHOD_a_zA_Z__s_s __pyx_string_tab[11]
#define __pyx_kp_u_CALL_UNBOUND_METHOD_does_not_sup __pyx_string_tab[12]
#define __pyx_kp_u_CCodeWriter_2 __pyx_string_tab[13]
#define __pyx_kp_u_CSTRING_s_s __pyx_string_tab[14]
#define __pyx_kp_u_CYTHON_COMPRESS_STRINGS __pyx_string_tab[15]
#define __pyx_kp_u_CYTHON_COMPRESS_STRINGS_0 __pyx_string_tab[16]
#define __pyx_kp_u_CYTHON_UNUSED __pyx_string_tab[17]
#define __pyx_kp_u_CYTHON_UNUSED_VAR __pyx_string_tab[18]
#define __pyx_kp_u_CYTHON_UNUSED_VAR___Pyx_Decompre __pyx_string_tab[19]
#define __pyx_kp_u_C_s_5_30_s_P_name_w_s_C_s_5_30 __pyx_string_tab[20]
#define __pyx_kp_u_Cached_unbound_methods __pyx_string_tab[21]
#define __pyx_kp_u_CallUnboundCMethod_d __pyx_string_tab[22]
#define __pyx_kp_u_Code_section_s __pyx_string_tab[23]
#define __pyx_kp_u_Compression_algorithm_no_1_must __pyx_string_tab[24]
#define __pyx_kp_u_Contains_parsed_declaration_of_s __pyx_string_tab[25]
#define __pyx_kp_u_CppSupport_cpp __pyx_string_tab[26]
#define __pyx_kp_u_Cython __pyx_string_tab[27]
#define __pyx_kp_u_Cython_Compiler __pyx_string_tab[28]
#define __pyx_kp_u_Cython_Compiler_Code_py __pyx_string_tab[29]
#define __pyx_kp_u_Cython_Compiler_Errors __pyx_string_tab[30]
#define __pyx_kp_u_Cython_Compiler_PyrexTypes __pyx_string_tab[31]
#define __pyx_kp_u_Cython_Compiler_Scanning __pyx_string_tab[32]
#define __pyx_kp_u_Cython_Compiler_TypeSlots __pyx_string_tab[33]
#define __pyx_kp_u_Cython_StringIOTree __pyx_string_tab[34]
#define __pyx_kp_u_Cython_Tempita __pyx_string_tab[35]
#define __pyx_kp_u_EMPTY_bytes_unicode_tuple __pyx_string_tab[36]
#define __pyx_kp_u_Empty_utility_code_file __pyx_string_tab[37]
#define __pyx_kp_u_Error_parsing_templated_utility __pyx_string_tab[38]
#define __pyx_kp_u_Exceptions_c __pyx_string_tab[39]
#define __pyx_kp_u_Export_block_must_not_contain_co __pyx_string_tab[40]
#define __pyx_kp_u_Found_invalid_tag __pyx_string_tab[41]
#define __pyx_kp_u_Found_invalid_tag_value __pyx_string_tab[42]
#define __pyx_kp_u_Found_unknown_tag_name __pyx_string_tab[43]
#define __pyx_kp_u_Found_useless_substitute_naming __pyx_string_tab[44]
#define __pyx_kp_u_GlobalState __pyx_string_tab[45]
#define __pyx_kp_u_Global_info_about_a_Python_numbe __pyx_string_tab[46]
#define __pyx_kp_u_Left_over_utility_code_macro __pyx_string_tab[47]
#define __pyx_kp_u_ModuleSetupCode_c __pyx_string_tab[48]
#define __pyx_kp_u_NAMED_CGLOBAL_moddict_cname __pyx_string_tab[49]
#define __pyx_kp_u_NAMED__CGLOBAL __pyx_string_tab[50]
#define __pyx_kp_u_NULL __pyx_string_tab[51]
#define __pyx_kp_u_NULL_2 __pyx_string_tab[52]
#define __pyx_kp_u_None __pyx_string_tab[53]
#define __pyx_kp_u_Note_that_Cython_is_deliberately __pyx_string_tab[54]
#define __pyx_kp_u_ObjectHandling_c __pyx_string_tab[55]
#define __pyx_kp_u_PYX_ERR __pyx_string_tab[56]
#define __pyx_kp_u_PYX_LIMITED_VERSION_HEX_0x030 __pyx_string_tab[57]
#define __pyx_kp_u_PYX_MARK_ERR_POS __pyx_string_tab[58]
#define __pyx_kp_u_PY_IDENT_UNICODE __pyx_string_tab[59]
#define __pyx_kp_u_PyCFunction_2 __pyx_string_tab[60]
#define __pyx_kp_u_PyErr_Occurred __pyx_string_tab[61]
#define __pyx_kp_u_PyFloat_FromDouble_c_constants_i __pyx_string_tab[62]
#define __pyx_kp_u_PyFloat_Type __pyx_string_tab[63]
#define __pyx_kp_u_PyGILState_STATE __pyx_string_tab[64]
#define __pyx_kp_u_PyGILState_STATE___pyx_gilstate __pyx_string_tab[65]
#define __pyx_kp_u_PyLong_FromString_c_constant_end __pyx_string_tab[66]
#define __pyx_kp_u_PyLong_Type __pyx_string_tab[67]
#define __pyx_kp_u_PyMutex_Lock __pyx_string_tab[68]
#define __pyx_kp_u_PyMutex_Unlock __pyx_string_tab[69]
#define __pyx_kp_u_PyObject __pyx_string_tab[70]
#define __pyx_kp_u_PyObject_2 __pyx_string_tab[71]
#define __pyx_kp_u_PyObject_data_NULL __pyx_string_tab[72]
#define __pyx_kp_u_PyObject_data___Pyx_DecompressSt __pyx_string_tab[73]
#define __pyx_kp_u_PyObject_numbertab __pyx_string_tab[74]
#define __pyx_kp_u_PyObject_res_s __pyx_string_tab[75]
#define __pyx_kp_u_PyObject_string_PyBytes_FromStri __pyx_string_tab[76]
#define __pyx_kp_u_PyObject_string_PyUnicode_Decode __pyx_string_tab[77]
#define __pyx_kp_u_PyObject_stringtab __pyx_string_tab[78]
#define __pyx_kp_u_PyObject_table __pyx_string_tab[79]
#define __pyx_kp_u_PyObject_tuple_dedup_map_PyDict __pyx_string_tab[80]
#define __pyx_kp_u_PyThreadState __pyx_string_tab[81]
#define __pyx_kp_u_PyUnicode_InternInPlace_string __pyx_string_tab[82]
#define __pyx_kp_u_PyUnstable_Object_EnableDeferred __pyx_string_tab[83]
#define __pyx_kp_u_PyWrapperDescr_Type __pyx_string_tab[84]
#define __pyx_kp_u_Py_CLEAR __pyx_string_tab[85]
#define __pyx_kp_u_Py_CLEAR_s __pyx_string_tab[86]
#define __pyx_kp_u_Py_DECREF_tuple_dedup_map __pyx_string_tab[87]
#define __pyx_kp_u_Py_INCREF_Py_None __pyx_string_tab[88]
#define __pyx_kp_u_Py_SET_REFCNT_table_i__Py_IMMORT __pyx_string_tab[89]
#define __pyx_kp_u_Py_SET_REFCNT_table_i__Py_IMMORT_2 __pyx_string_tab[90]
#define __pyx_kp_u_Py_VISIT_traverse_module_state __pyx_string_tab[91]
#define __pyx_kp_u_Py_XDECREF_data __pyx_string_tab[92]
#define __pyx_kp_u_Py_ssize_t_bytes_length_index_i __pyx_string_tab[93]
#define __pyx_kp_u_Py_ssize_t_pos_0 __pyx_string_tab[94]
#define __pyx_kp_u_Pyx_AddTraceback_s_s_s_s __pyx_string_tab[95]
#define __pyx_kp_u_Pyx_CachedCFunction_s __pyx_string_tab[96]
#define __pyx_kp_u_Pyx_FastGIL_Forget __pyx_string_tab[97]
#define __pyx_kp_u_Pyx_FastGIL_Remember __pyx_string_tab[98]
#define __pyx_kp_u_Pyx_GetBuiltinName __pyx_string_tab[99]
#define __pyx_kp_u_Pyx_INCREF_Py_None __pyx_string_tab[100]
#define __pyx_kp_u_Pyx_PyCode_New_function_descr __pyx_string_tab[101]
#define __pyx_kp_u_Pyx_PyGILState_Release_s __pyx_string_tab[102]
#define __pyx_kp_u_Pyx_PyMonitoring_ExitScope __pyx_string_tab[103]
#define __pyx_kp_u_Pyx_RefNannyFinishContext __pyx_string_tab[104]
#define __pyx_kp_u_Pyx_RefNannyFinishContextNogil __pyx_string_tab[105]
#define __pyx_kp_u_Pyx_RefNannySetupContext __pyx_string_tab[106]
#define __pyx_kp_u_Pyx_TraceException __pyx_string_tab[107]
#define __pyx_kp_u_Pyx_TraceExceptionHandled __pyx_string_tab[108]
#define __pyx_kp_u_Pyx_TraceExceptionUnwind __pyx_string_tab[109]
#define __pyx_kp_u_Pyx_TraceFrameInit_s __pyx_string_tab[110]
#define __pyx_kp_u_Pyx_TraceLine __pyx_string_tab[111]
#define __pyx_kp_u_Pyx_TraceResumeGen __pyx_string_tab[112]
#define __pyx_kp_u_Pyx_TraceStopIteration __pyx_string_tab[113]
#define __pyx_kp_u_Pyx_TraceYield __pyx_string_tab[114]
#define __pyx_kp_u_Pyx_WriteUnraisable __pyx_string_tab[115]
#define __pyx_kp_u_Pyx_default_placement_construc __pyx_string_tab[116]
#define __pyx_kp_u_Runtime_support_code __pyx_string_tab[117]
#define __pyx_kp_u_Runtime_support_code_head __pyx_string_tab[118]
#define __pyx_kp_u_S __pyx_string_tab[119]
#define __pyx_kp_u_StringTools_c __pyx_string_tab[120]
#define __pyx_kp_u_TEMPGUARD_Temps_left_over_at_end __pyx_string_tab[121]
#define __pyx_kp_u_Temp_s_freed_twice __pyx_string_tab[122]
#define __pyx_kp_u_TypeConversion_c __pyx_string_tab[123]
#define __pyx_kp_u_UTF_8 __pyx_string_tab[124]
#define __pyx_kp_u_Utility_code_that_calls_a_callb __pyx_string_tab[125]
#define __pyx_kp_u_Wrong_format_of_function_definit __pyx_string_tab[126]
#define __pyx_kp_u__10 __pyx_string_tab[127]
#define __pyx_kp_u__11 __pyx_string_tab[128]
#define __pyx_kp_u__14 __pyx_string_tab[129]
#define __pyx_kp_u__15 __pyx_string_tab[130]
#define __pyx_kp_u__16 __pyx_string_tab[131]
#define __pyx_kp_u__17 __pyx_string_tab[132]
#define __pyx_kp_u__18 __pyx_string_tab[133]
#define __pyx_kp_u__19 __pyx_string_tab[134]
#define __pyx_kp_u__2 __pyx_string_tab[135]
#define __pyx_kp_u__20 __pyx_string_tab[136]
#define __pyx_kp_u__21 __pyx_string_tab[137]
#define __pyx_kp_u__22 __pyx_string_tab[138]
#define __pyx_kp_u__23 __pyx_string_tab[139]
#define __pyx_kp_u__24 __pyx_string_tab[140]
#define __pyx_kp_u__25 __pyx_string_tab[141]
#define __pyx_kp_u__27 __pyx_string_tab[142]
#define __pyx_kp_u__28 __pyx_string_tab[143]
#define __pyx_kp_u__29 __pyx_string_tab[144]
#define __pyx_kp_u__3 __pyx_string_tab[145]
#define __pyx_kp_u__30 __pyx_string_tab[146]
#define __pyx_kp_u__31 __pyx_string_tab[147]
#define __pyx_kp_u__32 __pyx_string_tab[148]
#define __pyx_kp_u__33 __pyx_string_tab[149]
#define __pyx_kp_u__34 __pyx_string_tab[150]
#define __pyx_kp_u__35 __pyx_string_tab[151]
#define __pyx_kp_u__36 __pyx_string_tab[152]
#define __pyx_kp_u__38 __pyx_string_tab[153]
#define __pyx_kp_u__39 __pyx_string_tab[154]
#define __pyx_kp_u__4 __pyx_string_tab[155]
#define __pyx_kp_u__40 __pyx_string_tab[156]
#define __pyx_kp_u__41 __pyx_string_tab[157]
#define __pyx_kp_u__42 __pyx_string_tab[158]
#define __pyx_kp_u__43 __pyx_string_tab[159]
#define __pyx_kp_u__44 __pyx_string_tab[160]
#define __pyx_kp_u__45 __pyx_string_tab[161]
#define __pyx_kp_u__46 __pyx_string_tab[162]
#define __pyx_kp_u__47 __pyx_string_tab[163]
#define __pyx_kp_u__48 __pyx_string_tab[164]
#define __pyx_kp_u__49 __pyx_string_tab[165]
#define __pyx_kp_u__5 __pyx_string_tab[166]
#define __pyx_kp_u__50 __pyx_string_tab[167]
#define __pyx_kp_u__51 __pyx_string_tab[168]
#define __pyx_kp_u__52 __pyx_string_tab[169]
#define __pyx_kp_u__53 __pyx_string_tab[170]
#define __pyx_kp_u__54 __pyx_string_tab[171]
#define __pyx_kp_u__55 __pyx_string_tab[172]
#define __pyx_kp_u__56 __pyx_string_tab[173]
#define __pyx_kp_u__57 __pyx_string_tab[174]
#define __pyx_kp_u__58 __pyx_string_tab[175]
#define __pyx_kp_u__59 __pyx_string_tab[176]
#define __pyx_kp_u__6 __pyx_string_tab[177]
#define __pyx_kp_u__60 __pyx_string_tab[178]
#define __pyx_kp_u__61 __pyx_string_tab[179]
#define __pyx_kp_u__62 __pyx_string_tab[180]
#define __pyx_kp_u__63 __pyx_string_tab[181]
#define __pyx_kp_u__64 __pyx_string_tab[182]
#define __pyx_kp_u__65 __pyx_string_tab[183]
#define __pyx_kp_u__66 __pyx_string_tab[184]
#define __pyx_kp_u__67 __pyx_string_tab[185]
#define __pyx_kp_u__68 __pyx_string_tab[186]
#define __pyx_kp_u__69 __pyx_string_tab[187]
#define __pyx_kp_u__7 __pyx_string_tab[188]
#define __pyx_kp_u__71 __pyx_string_tab[189]
#define __pyx_kp_u__72 __pyx_string_tab[190]
#define __pyx_kp_u__73 __pyx_string_tab[191]
#define __pyx_kp_u__74 __pyx_string_tab[192]
#define __pyx_kp_u__75 __pyx_string_tab[193]
#define __pyx_kp_u__76 __pyx_string_tab[194]
#define __pyx_kp_u__78 __pyx_string_tab[195]
#define __pyx_kp_u__79 __pyx_string_tab[196]
#define __pyx_kp_u__8 __pyx_string_tab[197]
#define __pyx_kp_u__80 __pyx_string_tab[198]
#define __pyx_kp_u__81 __pyx_string_tab[199]
#define __pyx_kp_u__9 __pyx_string_tab[200]
#define __pyx_kp_u_a_zA_Z0_9 __pyx_string_tab[201]
#define __pyx_kp_u_a_zA_Z0_9_2 __pyx_string_tab[202]
#define __pyx_kp_u_add_note __pyx_string_tab[203]
#define __pyx_kp_u_allocated __pyx_string_tab[204]
#define __pyx_kp_u_at_line __pyx_string_tab[205]
#define __pyx_kp_u_bad_2 __pyx_string_tab[206]
#define __pyx_kp_u_bytes __pyx_string_tab[207]
#define __pyx_kp_u_c_constant_end_pos_1 __pyx_string_tab[208]
#define __pyx_kp_u_call_arguments __pyx_string_tab[209]
#define __pyx_kp_u_char_end_pos __pyx_string_tab[210]
#define __pyx_kp_u_clear_module_state __pyx_string_tab[211]
#define __pyx_kp_u_compression __pyx_string_tab[212]
#define __pyx_kp_u_const __pyx_string_tab[213]
#define __pyx_kp_u_const_char __pyx_string_tab[214]
#define __pyx_kp_u_const_char_c_constant __pyx_string_tab[215]
#define __pyx_kp_u_const_char_const_bytes __pyx_string_tab[216]
#define __pyx_kp_u_const_char_const_bytes___Pyx_PyB __pyx_string_tab[217]
#define __pyx_kp_u_const_char_const_cstring __pyx_string_tab[218]
#define __pyx_kp_u_const_struct_const_unsigned_int __pyx_string_tab[219]
#define __pyx_kp_u_cython_Py_ssize_t __pyx_string_tab[220]
#define __pyx_kp_u_cython_int __pyx_string_tab[221]
#define __pyx_kp_u_d_2 __pyx_string_tab[222]
#define __pyx_kp_u_define __pyx_string_tab[223]
#define __pyx_kp_u_define_likely_x___builtin_expec __pyx_string_tab[224]
#define __pyx_kp_u_define_likely_x_x __pyx_string_tab[225]
#define __pyx_kp_u_define_s __pyx_string_tab[226]
#define __pyx_kp_u_define_unlikely_x___builtin_exp __pyx_string_tab[227]
#define __pyx_kp_u_define_unlikely_x_x __pyx_string_tab[228]
#define __pyx_kp_u_disable __pyx_string_tab[229]
#define __pyx_kp_u_else __pyx_string_tab[230]
#define __pyx_kp_u_else_compression_none __pyx_string_tab[231]
#define __pyx_kp_u_enable __pyx_string_tab[232]
#define __pyx_kp_u_endif __pyx_string_tab[233]
#define __pyx_kp_u_endif__OPENMP __pyx_string_tab[234]
#define __pyx_kp_u_for __pyx_string_tab[235]
#define __pyx_kp_u_for_Py_ssize_t_i_0_i __pyx_string_tab[236]
#define __pyx_kp_u_for_Py_ssize_t_i_0_i_2 __pyx_string_tab[237]
#define __pyx_kp_u_for_size_t_i_0_i __pyx_string_tab[238]
#define __pyx_kp_u_found_in __pyx_string_tab[239]
#define __pyx_kp_u_gc __pyx_string_tab[240]
#define __pyx_kp_u_goto_s __pyx_string_tab[241]
#define __pyx_kp_u_h __pyx_string_tab[242]
#define __pyx_kp_u_i __pyx_string_tab[243]
#define __pyx_kp_u_i_0_i __pyx_string_tab[244]
#define __pyx_kp_u_i_0_i_2 __pyx_string_tab[245]
#define __pyx_kp_u_i_10 __pyx_string_tab[246]
#define __pyx_kp_u_i_2 __pyx_string_tab[247]
#define __pyx_kp_u_i_3 __pyx_string_tab[248]
#define __pyx_kp_u_i_4 __pyx_string_tab[249]
#define __pyx_kp_u_i_5 __pyx_string_tab[250]
#define __pyx_kp_u_i_6 __pyx_string_tab[251]
#define __pyx_kp_u_i_7 __pyx_string_tab[252]
#define __pyx_kp_u_i_8 __pyx_string_tab[253]
#define __pyx_kp_u_i_9 __pyx_string_tab[254]
#define __pyx_kp_u_i_Py_CLEAR_clear_module_state __pyx_string_tab[255]
#define __pyx_kp_u_if __pyx_string_tab[256]
#define __pyx_kp_u_if_3 __pyx_string_tab[257]
#define __pyx_kp_u_if_CYTHON_ASSUME_SAFE_MACROS __pyx_string_tab[258]
#define __pyx_kp_u_if_CYTHON_COMPILING_IN_CPYTHON __pyx_string_tab[259]
#define __pyx_kp_u_if_CYTHON_COMPILING_IN_CPYTHON_2 __pyx_string_tab[260]
#define __pyx_kp_u_if_CYTHON_IMMORTAL_CONSTANTS __pyx_string_tab[261]
#define __pyx_kp_u_if_PY_VERSION_HEX_0x030E0000 __pyx_string_tab[262]
#define __pyx_kp_u_if_PyUnstable_Object_IsUniquelyR __pyx_string_tab[263]
#define __pyx_kp_u_if__Py_IsOwnedByCurrentThread_ta __pyx_string_tab[264]
#define __pyx_kp_u_if_likely_bytes_else_Py_DECREF_d __pyx_string_tab[265]
#define __pyx_kp_u_if_likely_string_i __pyx_string_tab[266]
#define __pyx_kp_u_if_res_PyErr_Occurred_PyErr_SetN __pyx_string_tab[267]
#define __pyx_kp_u_if_s __pyx_string_tab[268]
#define __pyx_kp_u_if_unlikely __pyx_string_tab[269]
#define __pyx_kp_u_if_unlikely_PyObject_Hash_string __pyx_string_tab[270]
#define __pyx_kp_u_if_unlikely_string __pyx_string_tab[271]
#define __pyx_kp_u_if_unlikely_tuple_dedup_map_retu __pyx_string_tab[272]
#define __pyx_kp_u_ifdef_Py_UNICODE_WIDE __pyx_string_tab[273]
#define __pyx_kp_u_ifdef__OPENMP __pyx_string_tab[274]
#define __pyx_kp_u_ifndef_s __pyx_string_tab[275]
#define __pyx_kp_u_in __pyx_string_tab[276]
#define __pyx_kp_u_in_file __pyx_string_tab[277]
#define __pyx_kp_u_in_utility_section __pyx_string_tab[278]
#define __pyx_kp_u_include_2 __pyx_string_tab[279]
#define __pyx_kp_u_include_3 __pyx_string_tab[280]
#define __pyx_kp_u_include_4 __pyx_string_tab[281]
#define __pyx_kp_u_index __pyx_string_tab[282]
#define __pyx_kp_u_inserted_by_cython_to_avoid_com __pyx_string_tab[283]
#define __pyx_kp_u_inserted_by_cython_to_avoid_com_2 __pyx_string_tab[284]
#define __pyx_kp_u_int_2 __pyx_string_tab[285]
#define __pyx_kp_u_int___Pyx_CreateCodeObjects __pyx_string_tab[286]
#define __pyx_kp_u_int___Pyx_InitCachedBuiltins __pyx_string_tab[287]
#define __pyx_kp_u_int___Pyx_InitCachedConstants __pyx_string_tab[288]
#define __pyx_kp_u_int___Pyx_InitConstants __pyx_string_tab[289]
#define __pyx_kp_u_int___Pyx_InitGlobals_void __pyx_string_tab[290]
#define __pyx_kp_u_isenabled __pyx_string_tab[291]
#define __pyx_kp_u_large_counter __pyx_string_tab[292]
#define __pyx_kp_u_lazy __pyx_string_tab[293]
#define __pyx_kp_u_line __pyx_string_tab[294]
#define __pyx_kp_u_line_1_cython_utility __pyx_string_tab[295]
#define __pyx_kp_u_memview __pyx_string_tab[296]
#define __pyx_kp_u_method __pyx_string_tab[297]
#define __pyx_kp_u_method_name_2 __pyx_string_tab[298]
#define __pyx_kp_u_moddict_cname_should_not_be_shar __pyx_string_tab[299]
#define __pyx_kp_u_n __pyx_string_tab[300]
#define __pyx_kp_u_n_n __pyx_string_tab[301]
#define __pyx_kp_u_numbertab_i __pyx_string_tab[302]
#define __pyx_kp_u_numbertab_i_2 __pyx_string_tab[303]
#define __pyx_kp_u_pos_bytes_length __pyx_string_tab[304]
#define __pyx_kp_u_proto_2 __pyx_string_tab[305]
#define __pyx_kp_u_proto_3 __pyx_string_tab[306]
#define __pyx_kp_u_proto_S_impl_init_cleanup_modul __pyx_string_tab[307]
#define __pyx_kp_u_pxd __pyx_string_tab[308]
#define __pyx_kp_u_pxi __pyx_string_tab[309]
#define __pyx_kp_u_py __pyx_string_tab[310]
#define __pyx_kp_u_pyx __pyx_string_tab[311]
#define __pyx_kp_u_released __pyx_string_tab[312]
#define __pyx_kp_u_resume_from__s __pyx_string_tab[313]
#define __pyx_kp_u_return_0 __pyx_string_tab[314]
#define __pyx_kp_u_return_1 __pyx_string_tab[315]
#define __pyx_kp_u_return_res __pyx_string_tab[316]
#define __pyx_kp_u_return_s __pyx_string_tab[317]
#define __pyx_kp_u_s __pyx_string_tab[318]
#define __pyx_kp_u_s_0 __pyx_string_tab[319]
#define __pyx_kp_u_s_10 __pyx_string_tab[320]
#define __pyx_kp_u_s_11 __pyx_string_tab[321]
#define __pyx_kp_u_s_12 __pyx_string_tab[322]
#define __pyx_kp_u_s_2 __pyx_string_tab[323]
#define __pyx_kp_u_s_3 __pyx_string_tab[324]
#define __pyx_kp_u_s_5 __pyx_string_tab[325]
#define __pyx_kp_u_s_6 __pyx_string_tab[326]
#define __pyx_kp_u_s_7 __pyx_string_tab[327]
#define __pyx_kp_u_s_8 __pyx_string_tab[328]
#define __pyx_kp_u_s_9 __pyx_string_tab[329]
#define __pyx_kp_u_s_NULL __pyx_string_tab[330]
#define __pyx_kp_u_s___Pyx_PyGILState_Ensure __pyx_string_tab[331]
#define __pyx_kp_u_s__save __pyx_string_tab[332]
#define __pyx_kp_u_s_s_cython_s __pyx_string_tab[333]
#define __pyx_kp_u_s_self __pyx_string_tab[334]
#define __pyx_kp_u_save __pyx_string_tab[335]
#define __pyx_kp_u_save_2 __pyx_string_tab[336]
#define __pyx_kp_u_save_3 __pyx_string_tab[337]
#define __pyx_kp_u_save_s __pyx_string_tab[338]
#define __pyx_kp_u_sep_counter __pyx_string_tab[339]
#define __pyx_kp_u_static __pyx_string_tab[340]
#define __pyx_kp_u_static_CYTHON_SMALL_CODE __pyx_string_tab[341]
#define __pyx_kp_u_static_PyObject_s __pyx_string_tab[342]
#define __pyx_kp_u_static_PyObject_s_PyObject_self __pyx_string_tab[343]
#define __pyx_kp_u_static_Py_UNICODE __pyx_string_tab[344]
#define __pyx_kp_u_static_const_char __pyx_string_tab[345]
#define __pyx_kp_u_static_s_static_keyword_P_ret_t __pyx_string_tab[346]
#define __pyx_kp_u_stringtab __pyx_string_tab[347]
#define __pyx_kp_u_stringtab_i_string __pyx_string_tab[348]
#define __pyx_kp_u_tmp __pyx_string_tab[349]
#define __pyx_kp_u_traverse_module_state __pyx_string_tab[350]
#define __pyx_kp_u_type_PyObject __pyx_string_tab[351]
#define __pyx_kp_u_typedef_struct_unsigned_int_arg __pyx_string_tab[352]
#define __pyx_kp_u_undef_likely __pyx_string_tab[353]
#define __pyx_kp_u_undef_unlikely __pyx_string_tab[354]
#define __pyx_kp_u_unlikely_s __pyx_string_tab[355]
#define __pyx_kp_u_unsigned_int_first_line __pyx_string_tab[356]
#define __pyx_kp_u_unsigned_int_flags __pyx_string_tab[357]
#define __pyx_kp_u_unsigned_int_nlocals __pyx_string_tab[358]
#define __pyx_kp_u_unsigned_int_num_kwonly_args __pyx_string_tab[359]
#define __pyx_kp_u_unsigned_int_num_posonly_args __pyx_string_tab[360]
#define __pyx_kp_u_us_ascii __pyx_string_tab[361]
#define __pyx_kp_u_used_by_2 __pyx_string_tab[362]
#define __pyx_kp_u_utf_8 __pyx_string_tab[363]
#define __pyx_kp_u_void___Pyx_CleanupGlobals __pyx_string_tab[364]
#define __pyx_kp_u_void_void __pyx_string_tab[365]
#define __pyx_kp_u_zombie __pyx_string_tab[366]
#define __pyx_n_u_ASCII __pyx_string_tab[367]
#define __pyx_n_u_AbstractUtilityCode __pyx_string_tab[368]
#define __pyx_n_u_AbstractUtilityCode_get_shared_l __pyx_string_tab[369]
#define __pyx_n_u_AbstractUtilityCode_get_tree __pyx_string_tab[370]
#define __pyx_n_u_AbstractUtilityCode_put_code __pyx_string_tab[371]
#define __pyx_n_u_ArithmeticError __pyx_string_tab[372]
#define __pyx_n_u_AssertionError __pyx_string_tab[373]
#define __pyx_n_u_AttributeError __pyx_string_tab[374]
#define __pyx_n_u_BaseException __pyx_string_tab[375]
#define __pyx_n_u_BaseExceptionGroup __pyx_string_tab[376]
#define __pyx_n_u_BlockingIOError __pyx_string_tab[377]
#define __pyx_n_u_BrokenPipeError __pyx_string_tab[378]
#define __pyx_n_u_BufferError __pyx_string_tab[379]
#define __pyx_n_u_BytesWarning __pyx_string_tab[380]
#define __pyx_n_u_C __pyx_string_tab[381]
#define __pyx_n_u_CALL_UNBOUND_METHOD __pyx_string_tab[382]
#define __pyx_n_u_CCodeConfig __pyx_string_tab[383]
#define __pyx_n_u_CCodeConfig___init __pyx_string_tab[384]
#define __pyx_n_u_CCodeWriter __pyx_string_tab[385]
#define __pyx_n_u_CCodeWriter__write_to_buffer __pyx_string_tab[386]
#define __pyx_n_u_CCodeWriter_all_new_labels __pyx_string_tab[387]
#define __pyx_n_u_CCodeWriter_as_pyobject __pyx_string_tab[388]
#define __pyx_n_u_CCodeWriter_begin_block __pyx_string_tab[389]
#define __pyx_n_u_CCodeWriter_break_label __pyx_string_tab[390]
#define __pyx_n_u_CCodeWriter_build_function_modif __pyx_string_tab[391]
#define __pyx_n_u_CCodeWriter_continue_label __pyx_string_tab[392]
#define __pyx_n_u_CCodeWriter_copyto __pyx_string_tab[393]
#define __pyx_n_u_CCodeWriter_create_new __pyx_string_tab[394]
#define __pyx_n_u_CCodeWriter_declare_gilstate __pyx_string_tab[395]
#define __pyx_n_u_CCodeWriter_end_block __pyx_string_tab[396]
#define __pyx_n_u_CCodeWriter_enter_cfunc_scope __pyx_string_tab[397]
#define __pyx_n_u_CCodeWriter_entry_as_pyobject __pyx_string_tab[398]
#define __pyx_n_u_CCodeWriter_error_goto __pyx_string_tab[399]
#define __pyx_n_u_CCodeWriter_error_goto_if __pyx_string_tab[400]
#define __pyx_n_u_CCodeWriter_error_goto_if_PyErr __pyx_string_tab[401]
#define __pyx_n_u_CCodeWriter_error_goto_if_neg __pyx_string_tab[402]
#define __pyx_n_u_CCodeWriter_error_goto_if_null __pyx_string_tab[403]
#define __pyx_n_u_CCodeWriter_error_label __pyx_string_tab[404]
#define __pyx_n_u_CCodeWriter_exit_cfunc_scope __pyx_string_tab[405]
#define __pyx_n_u_CCodeWriter_get_all_labels __pyx_string_tab[406]
#define __pyx_n_u_CCodeWriter_get_argument_default __pyx_string_tab[407]
#define __pyx_n_u_CCodeWriter_get_cached_constants __pyx_string_tab[408]
#define __pyx_n_u_CCodeWriter_get_loop_labels __pyx_string_tab[409]
#define __pyx_n_u_CCodeWriter_get_py_codeobj_const __pyx_string_tab[410]
#define __pyx_n_u_CCodeWriter_get_py_const __pyx_string_tab[411]
#define __pyx_n_u_CCodeWriter_get_py_float __pyx_string_tab[412]
#define __pyx_n_u_CCodeWriter_get_py_int __pyx_string_tab[413]
#define __pyx_n_u_CCodeWriter_get_py_string_const __pyx_string_tab[414]
#define __pyx_n_u_CCodeWriter_get_py_version_hex __pyx_string_tab[415]
#define __pyx_n_u_CCodeWriter_get_pyunicode_ptr_co __pyx_string_tab[416]
#define __pyx_n_u_CCodeWriter_get_string_const __pyx_string_tab[417]
#define __pyx_n_u_CCodeWriter_getvalue __pyx_string_tab[418]
#define __pyx_n_u_CCodeWriter_insert __pyx_string_tab[419]
#define __pyx_n_u_CCodeWriter_insertion_point __pyx_string_tab[420]
#define __pyx_n_u_CCodeWriter_intern __pyx_string_tab[421]
#define __pyx_n_u_CCodeWriter_intern_identifier __pyx_string_tab[422]
#define __pyx_n_u_CCodeWriter_is_tracing __pyx_string_tab[423]
#define __pyx_n_u_CCodeWriter_label_counter __pyx_string_tab[424]
#define __pyx_n_u_CCodeWriter_label_interceptor __pyx_string_tab[425]
#define __pyx_n_u_CCodeWriter_label_used __pyx_string_tab[426]
#define __pyx_n_u_CCodeWriter_labels_used __pyx_string_tab[427]
#define __pyx_n_u_CCodeWriter_lookup_filename __pyx_string_tab[428]
#define __pyx_n_u_CCodeWriter_mark_pos __pyx_string_tab[429]
#define __pyx_n_u_CCodeWriter_name_in_main_c_code __pyx_string_tab[430]
#define __pyx_n_u_CCodeWriter_name_in_module_state __pyx_string_tab[431]
#define __pyx_n_u_CCodeWriter_name_in_slot_module __pyx_string_tab[432]
#define __pyx_n_u_CCodeWriter_namespace_cname_in_m __pyx_string_tab[433]
#define __pyx_n_u_CCodeWriter_new_error_label __pyx_string_tab[434]
#define __pyx_n_u_CCodeWriter_new_label __pyx_string_tab[435]
#define __pyx_n_u_CCodeWriter_new_loop_labels __pyx_string_tab[436]
#define __pyx_n_u_CCodeWriter_new_writer __pyx_string_tab[437]
#define __pyx_n_u_CCodeWriter_new_yield_label __pyx_string_tab[438]
#define __pyx_n_u_CCodeWriter_pos_to_offset __pyx_string_tab[439]
#define __pyx_n_u_CCodeWriter_put __pyx_string_tab[440]
#define __pyx_n_u_CCodeWriter_put_acquire_freethre __pyx_string_tab[441]
#define __pyx_n_u_CCodeWriter_put_acquire_gil __pyx_string_tab[442]
#define __pyx_n_u_CCodeWriter_put_add_traceback __pyx_string_tab[443]
#define __pyx_n_u_CCodeWriter_put_code_here __pyx_string_tab[444]
#define __pyx_n_u_CCodeWriter_put_cpp_placement_ne __pyx_string_tab[445]
#define __pyx_n_u_CCodeWriter_put_declare_refcount __pyx_string_tab[446]
#define __pyx_n_u_CCodeWriter_put_decref __pyx_string_tab[447]
#define __pyx_n_u_CCodeWriter_put_decref_clear __pyx_string_tab[448]
#define __pyx_n_u_CCodeWriter_put_decref_set __pyx_string_tab[449]
#define __pyx_n_u_CCodeWriter_put_ensure_gil __pyx_string_tab[450]
#define __pyx_n_u_CCodeWriter_put_error_if_neg __pyx_string_tab[451]
#define __pyx_n_u_CCodeWriter_put_error_if_unbound __pyx_string_tab[452]
#define __pyx_n_u_CCodeWriter_put_finish_refcount __pyx_string_tab[453]
#define __pyx_n_u_CCodeWriter_put_generated_by __pyx_string_tab[454]
#define __pyx_n_u_CCodeWriter_put_giveref __pyx_string_tab[455]
#define __pyx_n_u_CCodeWriter_put_goto __pyx_string_tab[456]
#define __pyx_n_u_CCodeWriter_put_gotref __pyx_string_tab[457]
#define __pyx_n_u_CCodeWriter_put_h_guard __pyx_string_tab[458]
#define __pyx_n_u_CCodeWriter_put_incref __pyx_string_tab[459]
#define __pyx_n_u_CCodeWriter_put_incref_memoryvie __pyx_string_tab[460]
#define __pyx_n_u_CCodeWriter_put_init_to_py_none __pyx_string_tab[461]
#define __pyx_n_u_CCodeWriter_put_init_var_to_py_n __pyx_string_tab[462]
#define __pyx_n_u_CCodeWriter_put_label __pyx_string_tab[463]
#define __pyx_n_u_CCodeWriter_put_make_object_defe __pyx_string_tab[464]
#define __pyx_n_u_CCodeWriter_put_or_include __pyx_string_tab[465]
#define __pyx_n_u_CCodeWriter_put_pymethoddef __pyx_string_tab[466]
#define __pyx_n_u_CCodeWriter_put_pymethoddef_wrap __pyx_string_tab[467]
#define __pyx_n_u_CCodeWriter_put_release_ensured __pyx_string_tab[468]
#define __pyx_n_u_CCodeWriter_put_release_freethre __pyx_string_tab[469]
#define __pyx_n_u_CCodeWriter_put_release_gil __pyx_string_tab[470]
#define __pyx_n_u_CCodeWriter_put_safe __pyx_string_tab[471]
#define __pyx_n_u_CCodeWriter_put_setup_refcount_c __pyx_string_tab[472]
#define __pyx_n_u_CCodeWriter_put_temp_declaration __pyx_string_tab[473]
#define __pyx_n_u_CCodeWriter_put_trace_declaratio __pyx_string_tab[474]
#define __pyx_n_u_CCodeWriter_put_trace_exception __pyx_string_tab[475]
#define __pyx_n_u_CCodeWriter_put_trace_exception_2 __pyx_string_tab[476]
#define __pyx_n_u_CCodeWriter_put_trace_exception_3 __pyx_string_tab[477]
#define __pyx_n_u_CCodeWriter_put_trace_exit __pyx_string_tab[478]
#define __pyx_n_u_CCodeWriter_put_trace_frame_init __pyx_string_tab[479]
#define __pyx_n_u_CCodeWriter_put_trace_resume __pyx_string_tab[480]
#define __pyx_n_u_CCodeWriter_put_trace_return __pyx_string_tab[481]
#define __pyx_n_u_CCodeWriter_put_trace_start __pyx_string_tab[482]
#define __pyx_n_u_CCodeWriter_put_trace_stopiterat __pyx_string_tab[483]
#define __pyx_n_u_CCodeWriter_put_trace_unwind __pyx_string_tab[484]
#define __pyx_n_u_CCodeWriter_put_trace_yield __pyx_string_tab[485]
#define __pyx_n_u_CCodeWriter_put_unraisable __pyx_string_tab[486]
#define __pyx_n_u_CCodeWriter_put_var_declaration __pyx_string_tab[487]
#define __pyx_n_u_CCodeWriter_put_var_decref __pyx_string_tab[488]
#define __pyx_n_u_CCodeWriter_put_var_decref_clear __pyx_string_tab[489]
#define __pyx_n_u_CCodeWriter_put_var_decref_set __pyx_string_tab[490]
#define __pyx_n_u_CCodeWriter_put_var_decrefs __pyx_string_tab[491]
#define __pyx_n_u_CCodeWriter_put_var_giveref __pyx_string_tab[492]
#define __pyx_n_u_CCodeWriter_put_var_gotref __pyx_string_tab[493]
#define __pyx_n_u_CCodeWriter_put_var_incref __pyx_string_tab[494]
#define __pyx_n_u_CCodeWriter_put_var_incref_memor __pyx_string_tab[495]
#define __pyx_n_u_CCodeWriter_put_var_xdecref __pyx_string_tab[496]
#define __pyx_n_u_CCodeWriter_put_var_xdecref_clea __pyx_string_tab[497]
#define __pyx_n_u_CCodeWriter_put_var_xdecref_set __pyx_string_tab[498]
#define __pyx_n_u_CCodeWriter_put_var_xdecrefs __pyx_string_tab[499]
#define __pyx_n_u_CCodeWriter_put_var_xdecrefs_cle __pyx_string_tab[500]
#define __pyx_n_u_CCodeWriter_put_var_xgiveref __pyx_string_tab[501]
#define __pyx_n_u_CCodeWriter_put_var_xgotref __pyx_string_tab[502]
#define __pyx_n_u_CCodeWriter_put_var_xincref __pyx_string_tab[503]
#define __pyx_n_u_CCodeWriter_put_xdecref __pyx_string_tab[504]
#define __pyx_n_u_CCodeWriter_put_xdecref_clear __pyx_string_tab[505]
#define __pyx_n_u_CCodeWriter_put_xdecref_set __pyx_string_tab[506]
#define __pyx_n_u_CCodeWriter_put_xgiveref __pyx_string_tab[507]
#define __pyx_n_u_CCodeWriter_put_xgotref __pyx_string_tab[508]
#define __pyx_n_u_CCodeWriter_put_xincref __pyx_string_tab[509]
#define __pyx_n_u_CCodeWriter_putln __pyx_string_tab[510]
#define __pyx_n_u_CCodeWriter_putln_openmp __pyx_string_tab[511]
#define __pyx_n_u_CCodeWriter_redef_builtin_expect __pyx_string_tab[512]
#define __pyx_n_u_CCodeWriter_return_from_error_cl __pyx_string_tab[513]
#define __pyx_n_u_CCodeWriter_return_label __pyx_string_tab[514]
#define __pyx_n_u_CCodeWriter_set_all_labels __pyx_string_tab[515]
#define __pyx_n_u_CCodeWriter_set_error_info __pyx_string_tab[516]
#define __pyx_n_u_CCodeWriter_set_global_state __pyx_string_tab[517]
#define __pyx_n_u_CCodeWriter_set_loop_labels __pyx_string_tab[518]
#define __pyx_n_u_CCodeWriter_start_initcfunc __pyx_string_tab[519]
#define __pyx_n_u_CCodeWriter_start_slotfunc __pyx_string_tab[520]
#define __pyx_n_u_CCodeWriter_typeptr_cname_in_mod __pyx_string_tab[521]
#define __pyx_n_u_CCodeWriter_undef_builtin_expect __pyx_string_tab[522]
#define __pyx_n_u_CCodeWriter_unlikely __pyx_string_tab[523]
#define __pyx_n_u_CCodeWriter_use_fast_gil_utility __pyx_string_tab[524]
#define __pyx_n_u_CCodeWriter_use_label __pyx_string_tab[525]
#define __pyx_n_u_CCodeWriter_write __pyx_string_tab[526]
#define __pyx_n_u_CCodeWriter_write_trace_line __pyx_string_tab[527]
#define __pyx_n_u_CCodeWriter_yield_labels __pyx_string_tab[528]
#define __pyx_n_u_CGLOBAL __pyx_string_tab[529]
#define __pyx_n_u_CSTRING __pyx_string_tab[530]
#define __pyx_n_u_CYTHON_INLINE __pyx_string_tab[531]
#define __pyx_n_u_ChildProcessError __pyx_string_tab[532]
#define __pyx_n_u_ClosureTempAllocator __pyx_string_tab[533]
#define __pyx_n_u_ClosureTempAllocator___init __pyx_string_tab[534]
#define __pyx_n_u_ClosureTempAllocator_allocate_te __pyx_string_tab[535]
#define __pyx_n_u_ClosureTempAllocator_reset __pyx_string_tab[536]
#define __pyx_n_u_CompressionParameter __pyx_string_tab[537]
#define __pyx_n_u_ConnectionAbortedError __pyx_string_tab[538]
#define __pyx_n_u_ConnectionError __pyx_string_tab[539]
#define __pyx_n_u_ConnectionRefusedError __pyx_string_tab[540]
#define __pyx_n_u_ConnectionResetError __pyx_string_tab[541]
#define __pyx_n_u_Cython_Compiler_Code __pyx_string_tab[542]
#define __pyx_n_u_Cython_dir __pyx_string_tab[543]
#define __pyx_n_u_DebugFlags __pyx_string_tab[544]
#define __pyx_n_u_DecompressString __pyx_string_tab[545]
#define __pyx_n_u_DefaultPlacementNew __pyx_string_tab[546]
#define __pyx_n_u_DeprecationWarning __pyx_string_tab[547]
#define __pyx_n_u_EARLY __pyx_string_tab[548]
#define __pyx_n_u_EMPTY __pyx_string_tab[549]
#define __pyx_n_u_EOFError __pyx_string_tab[550]
#define __pyx_n_u_Ellipsis __pyx_string_tab[551]
#define __pyx_n_u_EncodedString __pyx_string_tab[552]
#define __pyx_n_u_EncodingWarning __pyx_string_tab[553]
#define __pyx_n_u_EnvironmentError __pyx_string_tab[554]
#define __pyx_n_u_Errors __pyx_string_tab[555]
#define __pyx_n_u_Exception __pyx_string_tab[556]
#define __pyx_n_u_ExceptionGroup __pyx_string_tab[557]
#define __pyx_n_u_F __pyx_string_tab[558]
#define __pyx_n_u_False __pyx_string_tab[559]
#define __pyx_n_u_FastGil __pyx_string_tab[560]
#define __pyx_n_u_FileExistsError __pyx_string_tab[561]
#define __pyx_n_u_FileNotFoundError __pyx_string_tab[562]
#define __pyx_n_u_FloatingPointError __pyx_string_tab[563]
#define __pyx_n_u_ForceInitThreads __pyx_string_tab[564]
#define __pyx_n_u_FunctionState __pyx_string_tab[565]
#define __pyx_n_u_FunctionState_all_free_managed_t __pyx_string_tab[566]
#define __pyx_n_u_FunctionState_all_managed_temps __pyx_string_tab[567]
#define __pyx_n_u_FunctionState_all_new_labels __pyx_string_tab[568]
#define __pyx_n_u_FunctionState_allocate_temp __pyx_string_tab[569]
#define __pyx_n_u_FunctionState_get_all_labels __pyx_string_tab[570]
#define __pyx_n_u_FunctionState_get_loop_labels __pyx_string_tab[571]
#define __pyx_n_u_FunctionState_init_closure_temps __pyx_string_tab[572]
#define __pyx_n_u_FunctionState_label_used __pyx_string_tab[573]
#define __pyx_n_u_FunctionState_new_error_label __pyx_string_tab[574]
#define __pyx_n_u_FunctionState_new_label __pyx_string_tab[575]
#define __pyx_n_u_FunctionState_new_loop_labels __pyx_string_tab[576]
#define __pyx_n_u_FunctionState_new_yield_label __pyx_string_tab[577]
#define __pyx_n_u_FunctionState_release_temp __pyx_string_tab[578]
#define __pyx_n_u_FunctionState_set_all_labels __pyx_string_tab[579]
#define __pyx_n_u_FunctionState_set_loop_labels __pyx_string_tab[580]
#define __pyx_n_u_FunctionState_start_collecting_t __pyx_string_tab[581]
#define __pyx_n_u_FunctionState_stop_collecting_te __pyx_string_tab[582]
#define __pyx_n_u_FunctionState_temps_holding_refe __pyx_string_tab[583]
#define __pyx_n_u_FunctionState_temps_in_use __pyx_string_tab[584]
#define __pyx_n_u_FunctionState_use_label __pyx_string_tab[585]
#define __pyx_n_u_FunctionState_validate_exit __pyx_string_tab[586]
#define __pyx_n_u_FutureWarning __pyx_string_tab[587]
#define __pyx_n_u_GENERATED_BY_MARKER __pyx_string_tab[588]
#define __pyx_n_u_GeneratorExit __pyx_string_tab[589]
#define __pyx_n_u_GetBuiltinName __pyx_string_tab[590]
#define __pyx_n_u_GlobalState_2 __pyx_string_tab[591]
#define __pyx_n_u_GlobalState___getitem __pyx_string_tab[592]
#define __pyx_n_u_GlobalState___init __pyx_string_tab[593]
#define __pyx_n_u_GlobalState__generate_module_arr __pyx_string_tab[594]
#define __pyx_n_u_GlobalState_add_cached_builtin_d __pyx_string_tab[595]
#define __pyx_n_u_GlobalState_cached_unbound_metho __pyx_string_tab[596]
#define __pyx_n_u_GlobalState_close_global_decls __pyx_string_tab[597]
#define __pyx_n_u_GlobalState_commented_file_conte __pyx_string_tab[598]
#define __pyx_n_u_GlobalState_finalize_main_c_code __pyx_string_tab[599]
#define __pyx_n_u_GlobalState_generate_cached_meth __pyx_string_tab[600]
#define __pyx_n_u_GlobalState_generate_codeobject __pyx_string_tab[601]
#define __pyx_n_u_GlobalState_generate_const_decla __pyx_string_tab[602]
#define __pyx_n_u_GlobalState_generate_num_constan __pyx_string_tab[603]
#define __pyx_n_u_GlobalState_generate_num_constan_2 __pyx_string_tab[604]
#define __pyx_n_u_GlobalState_generate_num_constan_3 __pyx_string_tab[605]
#define __pyx_n_u_GlobalState_generate_num_constan_4 __pyx_string_tab[606]
#define __pyx_n_u_GlobalState_generate_num_constan_5 __pyx_string_tab[607]
#define __pyx_n_u_GlobalState_generate_num_constan_6 __pyx_string_tab[608]
#define __pyx_n_u_GlobalState_generate_object_cons __pyx_string_tab[609]
#define __pyx_n_u_GlobalState_generate_pystring_co __pyx_string_tab[610]
#define __pyx_n_u_GlobalState_generate_string_cons __pyx_string_tab[611]
#define __pyx_n_u_GlobalState_get_argument_default __pyx_string_tab[612]
#define __pyx_n_u_GlobalState_get_cached_constants __pyx_string_tab[613]
#define __pyx_n_u_GlobalState_get_cached_unbound_m __pyx_string_tab[614]
#define __pyx_n_u_GlobalState_get_float_const __pyx_string_tab[615]
#define __pyx_n_u_GlobalState_get_int_const __pyx_string_tab[616]
#define __pyx_n_u_GlobalState_get_interned_identif __pyx_string_tab[617]
#define __pyx_n_u_GlobalState_get_py_codeobj_const __pyx_string_tab[618]
#define __pyx_n_u_GlobalState_get_py_const __pyx_string_tab[619]
#define __pyx_n_u_GlobalState_get_py_string_const __pyx_string_tab[620]
#define __pyx_n_u_GlobalState_get_pyunicode_ptr_co __pyx_string_tab[621]
#define __pyx_n_u_GlobalState_get_string_const __pyx_string_tab[622]
#define __pyx_n_u_GlobalState_immortalize_constant __pyx_string_tab[623]
#define __pyx_n_u_GlobalState_initialize_main_c_co __pyx_string_tab[624]
#define __pyx_n_u_GlobalState_initialize_main_h_co __pyx_string_tab[625]
#define __pyx_n_u_GlobalState_lookup_filename __pyx_string_tab[626]
#define __pyx_n_u_GlobalState_new_array_const_cnam __pyx_string_tab[627]
#define __pyx_n_u_GlobalState_new_const_cname __pyx_string_tab[628]
#define __pyx_n_u_GlobalState_new_num_const __pyx_string_tab[629]
#define __pyx_n_u_GlobalState_new_num_const_cname __pyx_string_tab[630]
#define __pyx_n_u_GlobalState_new_string_const __pyx_string_tab[631]
#define __pyx_n_u_GlobalState_new_string_const_cna __pyx_string_tab[632]
#define __pyx_n_u_GlobalState_put_cached_builtin_i __pyx_string_tab[633]
#define __pyx_n_u_GlobalState_put_pyobject_decl __pyx_string_tab[634]
#define __pyx_n_u_GlobalState_should_declare __pyx_string_tab[635]
#define __pyx_n_u_GlobalState_unique_const_cname __pyx_string_tab[636]
#define __pyx_n_u_GlobalState_use_entry_utility_co __pyx_string_tab[637]
#define __pyx_n_u_GlobalState_use_utility_code __pyx_string_tab[638]
#define __pyx_n_u_IDENT __pyx_string_tab[639]
#define __pyx_n_u_INITIAL __pyx_string_tab[640]
#define __pyx_n_u_IOError __pyx_string_tab[641]
#define __pyx_n_u_ImportError __pyx_string_tab[642]
#define __pyx_n_u_ImportWarning __pyx_string_tab[643]
#define __pyx_n_u_IncludeCode __pyx_string_tab[644]
#define __pyx_n_u_IncludeCode___init __pyx_string_tab[645]
#define __pyx_n_u_IncludeCode_dict_update __pyx_string_tab[646]
#define __pyx_n_u_IncludeCode_mainpiece __pyx_string_tab[647]
#define __pyx_n_u_IncludeCode_sortkey __pyx_string_tab[648]
#define __pyx_n_u_IncludeCode_write __pyx_string_tab[649]
#define __pyx_n_u_IncompleteInputError __pyx_string_tab[650]
#define __pyx_n_u_IndentationError __pyx_string_tab[651]
#define __pyx_n_u_IndexError __pyx_string_tab[652]
#define __pyx_n_u_InterruptedError __pyx_string_tab[653]
#define __pyx_n_u_IsADirectoryError __pyx_string_tab[654]
#define __pyx_n_u_KNOWN_PYTHON_BUILTINS __pyx_string_tab[655]
#define __pyx_n_u_KNOWN_PYTHON_BUILTINS_VERSION __pyx_string_tab[656]
#define __pyx_n_u_KeyError __pyx_string_tab[657]
#define __pyx_n_u_KeyboardInterrupt __pyx_string_tab[658]
#define __pyx_n_u_L __pyx_string_tab[659]
#define __pyx_n_u_LATE __pyx_string_tab[660]
#define __pyx_n_u_LL __pyx_string_tab[661]
#define __pyx_n_u_LazyUtilityCode __pyx_string_tab[662]
#define __pyx_n_u_LazyUtilityCode___init __pyx_string_tab[663]
#define __pyx_n_u_LazyUtilityCode_put_code __pyx_string_tab[664]
#define __pyx_n_u_LookupError __pyx_string_tab[665]
#define __pyx_n_u_MemoryError __pyx_string_tab[666]
#define __pyx_n_u_ModuleNotFoundError __pyx_string_tab[667]
#define __pyx_n_u_NameError __pyx_string_tab[668]
#define __pyx_n_u_Naming __pyx_string_tab[669]
#define __pyx_n_u_NewCodeObj __pyx_string_tab[670]
#define __pyx_n_u_NoFastGil __pyx_string_tab[671]
#define __pyx_n_u_Nogil __pyx_string_tab[672]
#define __pyx_n_u_None __pyx_string_tab[673]
#define __pyx_n_u_NotADirectoryError __pyx_string_tab[674]
#define __pyx_n_u_NotImplemented __pyx_string_tab[675]
#define __pyx_n_u_NotImplementedError __pyx_string_tab[676]
#define __pyx_n_u_NumConst __pyx_string_tab[677]
#define __pyx_n_u_NumConst___init __pyx_string_tab[678]
#define __pyx_n_u_OSError __pyx_string_tab[679]
#define __pyx_n_u_OptionalLocals __pyx_string_tab[680]
#define __pyx_n_u_Options __pyx_string_tab[681]
#define __pyx_n_u_OverflowError __pyx_string_tab[682]
#define __pyx_n_u_PYIDENT __pyx_string_tab[683]
#define __pyx_n_u_PYUNICODE __pyx_string_tab[684]
#define __pyx_n_u_PendingDeprecationWarning __pyx_string_tab[685]
#define __pyx_n_u_PermissionError __pyx_string_tab[686]
#define __pyx_n_u_ProcessLookupError __pyx_string_tab[687]
#define __pyx_n_u_PyCFunction __pyx_string_tab[688]
#define __pyx_n_u_PyEval_RestoreThread __pyx_string_tab[689]
#define __pyx_n_u_PyEval_SaveThread __pyx_string_tab[690]
#define __pyx_n_u_PyHeapTypeObject __pyx_string_tab[691]
#define __pyx_n_u_PyLong_FromLong __pyx_string_tab[692]
#define __pyx_n_u_PyLong_FromLongLong __pyx_string_tab[693]
#define __pyx_n_u_PyObjectConst __pyx_string_tab[694]
#define __pyx_n_u_PyStringConst __pyx_string_tab[695]
#define __pyx_n_u_PyTypeObject __pyx_string_tab[696]
#define __pyx_n_u_Py_None __pyx_string_tab[697]
#define __pyx_n_u_Py_VISIT __pyx_string_tab[698]
#define __pyx_n_u_Py_ssize_t __pyx_string_tab[699]
#define __pyx_n_u_PyrexCodeWriter __pyx_string_tab[700]
#define __pyx_n_u_PyrexCodeWriter_dedent __pyx_string_tab[701]
#define __pyx_n_u_PyrexCodeWriter_indent __pyx_string_tab[702]
#define __pyx_n_u_PyrexCodeWriter_putln __pyx_string_tab[703]
#define __pyx_n_u_PyrexTypes __pyx_string_tab[704]
#define __pyx_n_u_PythonFinalizationError __pyx_string_tab[705]
#define __pyx_n_u_Pyx __pyx_string_tab[706]
#define __pyx_n_u_PyxCodeWriter __pyx_string_tab[707]
#define __pyx_n_u_PyxCodeWriter_dedent __pyx_string_tab[708]
#define __pyx_n_u_PyxCodeWriter_empty __pyx_string_tab[709]
#define __pyx_n_u_PyxCodeWriter_getvalue __pyx_string_tab[710]
#define __pyx_n_u_PyxCodeWriter_indent __pyx_string_tab[711]
#define __pyx_n_u_PyxCodeWriter_indenter __pyx_string_tab[712]
#define __pyx_n_u_PyxCodeWriter_insertion_point __pyx_string_tab[713]
#define __pyx_n_u_PyxCodeWriter_named_insertion_po __pyx_string_tab[714]
#define __pyx_n_u_PyxCodeWriter_put_chunk __pyx_string_tab[715]
#define __pyx_n_u_PyxCodeWriter_putln __pyx_string_tab[716]
#define __pyx_n_u_PyxCodeWriter_reset __pyx_string_tab[717]
#define __pyx_n_u_Pyx_InitCachedConstants __pyx_string_tab[718]
#define __pyx_n_u_Pyx_PyDict_NextRef __pyx_string_tab[719]
#define __pyx_n_u_Pyx_RefNannyDeclarations __pyx_string_tab[720]
#define __pyx_n_u_Pyx_RestoreUnknownThread __pyx_string_tab[721]
#define __pyx_n_u_Pyx_SaveUnknownThread __pyx_string_tab[722]
#define __pyx_n_u_Pyx_TraceDeclarationsFunc __pyx_string_tab[723]
#define __pyx_n_u_Pyx_TraceDeclarationsGen __pyx_string_tab[724]
#define __pyx_n_u_Pyx_TraceReturnCValue __pyx_string_tab[725]
#define __pyx_n_u_Pyx_TraceReturnValue __pyx_string_tab[726]
#define __pyx_n_u_Pyx_TraceStartFunc __pyx_string_tab[727]
#define __pyx_n_u_Pyx_TraceStartGen __pyx_string_tab[728]
#define __pyx_n_u_Pyx_UnknownThreadState __pyx_string_tab[729]
#define __pyx_n_u_Pyx_VISIT_CONST __pyx_string_tab[730]
#define __pyx_n_u_RaiseClosureNameError __pyx_string_tab[731]
#define __pyx_n_u_RaiseCppAttributeError __pyx_string_tab[732]
#define __pyx_n_u_RaiseCppGlobalNameError __pyx_string_tab[733]
#define __pyx_n_u_RaiseUnboundLocalError __pyx_string_tab[734]
#define __pyx_n_u_RecursionError __pyx_string_tab[735]
#define __pyx_n_u_ReferenceError __pyx_string_tab[736]
#define __pyx_n_u_ReleaseUnknownGil __pyx_string_tab[737]
#define __pyx_n_u_ResourceWarning __pyx_string_tab[738]
#define __pyx_n_u_RuntimeError __pyx_string_tab[739]
#define __pyx_n_u_RuntimeWarning __pyx_string_tab[740]
#define __pyx_n_u_Scanning __pyx_string_tab[741]
#define __pyx_n_u_SharedFunctionDecl __pyx_string_tab[742]
#define __pyx_n_u_SourceDescriptor __pyx_string_tab[743]
#define __pyx_n_u_StopAsyncIteration __pyx_string_tab[744]
#define __pyx_n_u_StopIteration __pyx_string_tab[745]
#define __pyx_n_u_Strategy __pyx_string_tab[746]
#define __pyx_n_u_StringConst __pyx_string_tab[747]
#define __pyx_n_u_StringConst_get_py_string_const __pyx_string_tab[748]
#define __pyx_n_u_StringEncoding __pyx_string_tab[749]
#define __pyx_n_u_StringIOTree __pyx_string_tab[750]
#define __pyx_n_u_SyntaxError __pyx_string_tab[751]
#define __pyx_n_u_SyntaxWarning __pyx_string_tab[752]
#define __pyx_n_u_SystemError __pyx_string_tab[753]
#define __pyx_n_u_SystemExit __pyx_string_tab[754]
#define __pyx_n_u_TabError __pyx_string_tab[755]
#define __pyx_n_u_Tempita __pyx_string_tab[756]
#define __pyx_n_u_TempitaUtilityCode __pyx_string_tab[757]
#define __pyx_n_u_TempitaUtilityCode___init __pyx_string_tab[758]
#define __pyx_n_u_TempitaUtilityCode__cache __pyx_string_tab[759]
#define __pyx_n_u_TempitaUtilityCode_load_cached __pyx_string_tab[760]
#define __pyx_n_u_TempitaUtilityCode_none_or_sub __pyx_string_tab[761]
#define __pyx_n_u_Template __pyx_string_tab[762]
#define __pyx_n_u_TimeoutError __pyx_string_tab[763]
#define __pyx_n_u_True __pyx_string_tab[764]
#define __pyx_n_u_TypeConversions __pyx_string_tab[765]
#define __pyx_n_u_TypeError __pyx_string_tab[766]
#define __pyx_n_u_TypeSlots __pyx_string_tab[767]
#define __pyx_n_u_U __pyx_string_tab[768]
#define __pyx_n_u_UnboundLocalError __pyx_string_tab[769]
#define __pyx_n_u_UnicodeDecodeError __pyx_string_tab[770]
#define __pyx_n_u_UnicodeEncodeError __pyx_string_tab[771]
#define __pyx_n_u_UnicodeError __pyx_string_tab[772]
#define __pyx_n_u_UnicodeTranslateError __pyx_string_tab[773]
#define __pyx_n_u_UnicodeWarning __pyx_string_tab[774]
#define __pyx_n_u_UserWarning __pyx_string_tab[775]
#define __pyx_n_u_Utility __pyx_string_tab[776]
#define __pyx_n_u_UtilityCode __pyx_string_tab[777]
#define __pyx_n_u_UtilityCodeBase __pyx_string_tab[778]
#define __pyx_n_u_UtilityCodeBase___deepcopy __pyx_string_tab[779]
#define __pyx_n_u_UtilityCodeBase__add_utility __pyx_string_tab[780]
#define __pyx_n_u_UtilityCodeBase__cache __pyx_string_tab[781]
#define __pyx_n_u_UtilityCodeBase_format_code __pyx_string_tab[782]
#define __pyx_n_u_UtilityCodeBase_get_shared_libra __pyx_string_tab[783]
#define __pyx_n_u_UtilityCodeBase_get_special_comm __pyx_string_tab[784]
#define __pyx_n_u_UtilityCodeBase_get_tree __pyx_string_tab[785]
#define __pyx_n_u_UtilityCodeBase_load __pyx_string_tab[786]
#define __pyx_n_u_UtilityCodeBase_load_as_string __pyx_string_tab[787]
#define __pyx_n_u_UtilityCodeBase_load_cached __pyx_string_tab[788]
#define __pyx_n_u_UtilityCodeBase_load_utilities_f __pyx_string_tab[789]
#define __pyx_n_u_UtilityCodePragmas __pyx_string_tab[790]
#define __pyx_n_u_UtilityCodePragmasEnd __pyx_string_tab[791]
#define __pyx_n_u_UtilityCode__put_code_section __pyx_string_tab[792]
#define __pyx_n_u_UtilityCode__put_init_code_secti __pyx_string_tab[793]
#define __pyx_n_u_UtilityCode__put_shared_function __pyx_string_tab[794]
#define __pyx_n_u_UtilityCode__validate_suitable_f __pyx_string_tab[795]
#define __pyx_n_u_UtilityCode_none_or_sub __pyx_string_tab[796]
#define __pyx_n_u_UtilityCode_parse_export_functio __pyx_string_tab[797]
#define __pyx_n_u_UtilityCode_put_code __pyx_string_tab[798]
#define __pyx_n_u_UtilityCode_specialize __pyx_string_tab[799]
#define __pyx_n_u_Utils __pyx_string_tab[800]
#define __pyx_n_u_VERBOSE __pyx_string_tab[801]
#define __pyx_n_u_ValueError __pyx_string_tab[802]
#define __pyx_n_u_Warning __pyx_string_tab[803]
#define __pyx_n_u_WindowsError __pyx_string_tab[804]
#define __pyx_n_u_WriteUnraisableException __pyx_string_tab[805]
#define __pyx_n_u_ZeroDivisionError __pyx_string_tab[806]
#define __pyx_n_u__26 __pyx_string_tab[807]
#define __pyx_n_u__9 __pyx_string_tab[808]
#define __pyx_n_u_abs __pyx_string_tab[809]
#define __pyx_n_u_abspath __pyx_string_tab[810]
#define __pyx_n_u_acquire_gil __pyx_string_tab[811]
#define __pyx_n_u_add __pyx_string_tab[812]
#define __pyx_n_u_add_cached_builtin_decl __pyx_string_tab[813]
#define __pyx_n_u_add_macro_processor __pyx_string_tab[814]
#define __pyx_n_u_add_macro_processor_locals_build __pyx_string_tab[815]
#define __pyx_n_u_add_macro_processor_locals_build_2 __pyx_string_tab[816]
#define __pyx_n_u_add_utility __pyx_string_tab[817]
#define __pyx_n_u_aiter __pyx_string_tab[818]
#define __pyx_n_u_aiter_2 __pyx_string_tab[819]
#define __pyx_n_u_algo_name __pyx_string_tab[820]
#define __pyx_n_u_algo_number __pyx_string_tab[821]
#define __pyx_n_u_all __pyx_string_tab[822]
#define __pyx_n_u_all_free_managed_temps __pyx_string_tab[823]
#define __pyx_n_u_all_lines __pyx_string_tab[824]
#define __pyx_n_u_all_managed_temps __pyx_string_tab[825]
#define __pyx_n_u_all_new_labels __pyx_string_tab[826]
#define __pyx_n_u_all_tags __pyx_string_tab[827]
#define __pyx_n_u_allocate_temp __pyx_string_tab[828]
#define __pyx_n_u_allow_skip __pyx_string_tab[829]
#define __pyx_n_u_anext __pyx_string_tab[830]
#define __pyx_n_u_anext_2 __pyx_string_tab[831]
#define __pyx_n_u_annotations __pyx_string_tab[832]
#define __pyx_n_u_any __pyx_string_tab[833]
#define __pyx_n_u_append __pyx_string_tab[834]
#define __pyx_n_u_arg __pyx_string_tab[835]
#define __pyx_n_u_arg_cnames __pyx_string_tab[836]
#define __pyx_n_u_arg_default_constants __pyx_string_tab[837]
#define __pyx_n_u_args __pyx_string_tab[838]
#define __pyx_n_u_args_signature __pyx_string_tab[839]
#define __pyx_n_u_array_access __pyx_string_tab[840]
#define __pyx_n_u_array_cname __pyx_string_tab[841]
#define __pyx_n_u_array_name __pyx_string_tab[842]
#define __pyx_n_u_as_c_string_literal __pyx_string_tab[843]
#define __pyx_n_u_as_pyobject __pyx_string_tab[844]
#define __pyx_n_u_ascii __pyx_string_tab[845]
#define __pyx_n_u_assign_constant __pyx_string_tab[846]
#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[847]
#define __pyx_n_u_attrgetter __pyx_string_tab[848]
#define __pyx_n_u_attribute_of __pyx_string_tab[849]
#define __pyx_n_u_await __pyx_string_tab[850]
#define __pyx_n_u_b __pyx_string_tab[851]
#define __pyx_n_u_bad __pyx_string_tab[852]
#define __pyx_n_u_basestring __pyx_string_tab[853]
#define __pyx_n_u_basicsize_builtins_map __pyx_string_tab[854]
#define __pyx_n_u_before_global_var __pyx_string_tab[855]
#define __pyx_n_u_begin_block __pyx_string_tab[856]
#define __pyx_n_u_begin_lineno __pyx_string_tab[857]
#define __pyx_n_u_beta __pyx_string_tab[858]
#define __pyx_n_u_bin __pyx_string_tab[859]
#define __pyx_n_u_bit_length __pyx_string_tab[860]
#define __pyx_n_u_bool __pyx_string_tab[861]
#define __pyx_n_u_bounds __pyx_string_tab[862]
#define __pyx_n_u_break __pyx_string_tab[863]
#define __pyx_n_u_break_label __pyx_string_tab[864]
#define __pyx_n_u_breakpoint __pyx_string_tab[865]
#define __pyx_n_u_btultra2 __pyx_string_tab[866]
#define __pyx_n_u_buffer __pyx_string_tab[867]
#define __pyx_n_u_build_class __pyx_string_tab[868]
#define __pyx_n_u_build_function_modifiers __pyx_string_tab[869]
#define __pyx_n_u_build_processor __pyx_string_tab[870]
#define __pyx_n_u_byte_size __pyx_string_tab[871]
#define __pyx_n_u_byte_string __pyx_string_tab[872]
#define __pyx_n_u_byte_strings __pyx_string_tab[873]
#define __pyx_n_u_bytearray __pyx_string_tab[874]
#define __pyx_n_u_byteencode __pyx_string_tab[875]
#define __pyx_n_u_bytes_2 __pyx_string_tab[876]
#define __pyx_n_u_bytes_value __pyx_string_tab[877]
#define __pyx_n_u_bytes_values __pyx_string_tab[878]
#define __pyx_n_u_bz2 __pyx_string_tab[879]
#define __pyx_n_u_c __pyx_string_tab[880]
#define __pyx_n_u_c_constants __pyx_string_tab[881]
#define __pyx_n_u_c_consts __pyx_string_tab[882]
#define __pyx_n_u_c_line_in_traceback __pyx_string_tab[883]
#define __pyx_n_u_c_path __pyx_string_tab[884]
#define __pyx_n_u_c_ptr_type __pyx_string_tab[885]
#define __pyx_n_u_c_slot_name __pyx_string_tab[886]
#define __pyx_n_u_c_string __pyx_string_tab[887]
#define __pyx_n_u_c_used __pyx_string_tab[888]
#define __pyx_n_u_cache __pyx_string_tab[889]
#define __pyx_n_u_cache_cname __pyx_string_tab[890]
#define __pyx_n_u_cached_builtins __pyx_string_tab[891]
#define __pyx_n_u_cached_cmethods __pyx_string_tab[892]
#define __pyx_n_u_cached_constants __pyx_string_tab[893]
#define __pyx_n_u_cached_unbound_method_call_code __pyx_string_tab[894]
#define __pyx_n_u_callable __pyx_string_tab[895]
#define __pyx_n_u_callback __pyx_string_tab[896]
#define __pyx_n_u_can_be_reused __pyx_string_tab[897]
#define __pyx_n_u_capi_func __pyx_string_tab[898]
#define __pyx_n_u_cast __pyx_string_tab[899]
#define __pyx_n_u_cf_used __pyx_string_tab[900]
#define __pyx_n_u_check_for_null_code __pyx_string_tab[901]
#define __pyx_n_u_chr __pyx_string_tab[902]
#define __pyx_n_u_chunk __pyx_string_tab[903]
#define __pyx_n_u_cinit __pyx_string_tab[904]
#define __pyx_n_u_cint_constants __pyx_string_tab[905]
#define __pyx_n_u_class_getitem __pyx_string_tab[906]
#define __pyx_n_u_class_scope __pyx_string_tab[907]
#define __pyx_n_u_classmethod __pyx_string_tab[908]
#define __pyx_n_u_cleanup __pyx_string_tab[909]
#define __pyx_n_u_cleanup_globals __pyx_string_tab[910]
#define __pyx_n_u_cleanup_level __pyx_string_tab[911]
#define __pyx_n_u_cleanup_module __pyx_string_tab[912]
#define __pyx_n_u_clear __pyx_string_tab[913]
#define __pyx_n_u_clear_before_decref __pyx_string_tab[914]
#define __pyx_n_u_cline_in_traceback __pyx_string_tab[915]
#define __pyx_n_u_clineno_cname __pyx_string_tab[916]
#define __pyx_n_u_cliteral __pyx_string_tab[917]
#define __pyx_n_u_close __pyx_string_tab[918]
#define __pyx_n_u_close_global_decls __pyx_string_tab[919]
#define __pyx_n_u_closing __pyx_string_tab[920]
#define __pyx_n_u_cls __pyx_string_tab[921]
#define __pyx_n_u_cname __pyx_string_tab[922]
#define __pyx_n_u_cname_in_modulestate __pyx_string_tab[923]
#define __pyx_n_u_cnames __pyx_string_tab[924]
#define __pyx_n_u_code __pyx_string_tab[925]
#define __pyx_n_u_code_config __pyx_string_tab[926]
#define __pyx_n_u_code_layout __pyx_string_tab[927]
#define __pyx_n_u_code_object_count __pyx_string_tab[928]
#define __pyx_n_u_code_parts __pyx_string_tab[929]
#define __pyx_n_u_code_string __pyx_string_tab[930]
#define __pyx_n_u_code_type __pyx_string_tab[931]
#define __pyx_n_u_codeobj __pyx_string_tab[932]
#define __pyx_n_u_codeobject_constants __pyx_string_tab[933]
#define __pyx_n_u_codeobjtab_cname __pyx_string_tab[934]
#define __pyx_n_u_codewriter_temp_prefix __pyx_string_tab[935]
#define __pyx_n_u_collections __pyx_string_tab[936]
#define __pyx_n_u_comment __pyx_string_tab[937]
#define __pyx_n_u_commented_file_contents __pyx_string_tab[938]
#define __pyx_n_u_common_utility_include_dir __pyx_string_tab[939]
#define __pyx_n_u_compile __pyx_string_tab[940]
#define __pyx_n_u_complex __pyx_string_tab[941]
#define __pyx_n_u_complex_type_declarations __pyx_string_tab[942]
#define __pyx_n_u_compress __pyx_string_tab[943]
#define __pyx_n_u_compressed_bytes __pyx_string_tab[944]
#define __pyx_n_u_compression_algorithms __pyx_string_tab[945]
#define __pyx_n_u_compression_level __pyx_string_tab[946]
#define __pyx_n_u_compression_zstd __pyx_string_tab[947]
#define __pyx_n_u_compresslevel __pyx_string_tab[948]
#define __pyx_n_u_concat_bytes __pyx_string_tab[949]
#define __pyx_n_u_cond __pyx_string_tab[950]
#define __pyx_n_u_const_2 __pyx_string_tab[951]
#define __pyx_n_u_const_array_counters __pyx_string_tab[952]
#define __pyx_n_u_const_cnames_used __pyx_string_tab[953]
#define __pyx_n_u_const_prefix __pyx_string_tab[954]
#define __pyx_n_u_const_type __pyx_string_tab[955]
#define __pyx_n_u_constant_count __pyx_string_tab[956]
#define __pyx_n_u_constant_name_defines __pyx_string_tab[957]
#define __pyx_n_u_constant_offset __pyx_string_tab[958]
#define __pyx_n_u_constants __pyx_string_tab[959]
#define __pyx_n_u_consts __pyx_string_tab[960]
#define __pyx_n_u_content __pyx_string_tab[961]
#define __pyx_n_u_context __pyx_string_tab[962]
#define __pyx_n_u_context_key __pyx_string_tab[963]
#define __pyx_n_u_contextlib __pyx_string_tab[964]
#define __pyx_n_u_contextmanager __pyx_string_tab[965]
#define __pyx_n_u_continue __pyx_string_tab[966]
#define __pyx_n_u_continue_label __pyx_string_tab[967]
#define __pyx_n_u_copy __pyx_string_tab[968]
#define __pyx_n_u_copy_formatting __pyx_string_tab[969]
#define __pyx_n_u_copyright __pyx_string_tab[970]
#define __pyx_n_u_copyto __pyx_string_tab[971]
#define __pyx_n_u_count __pyx_string_tab[972]
#define __pyx_n_u_counter __pyx_string_tab[973]
#define __pyx_n_u_counter_type __pyx_string_tab[974]
#define __pyx_n_u_cpp_locals __pyx_string_tab[975]
#define __pyx_n_u_cpp_optional_declaration_code __pyx_string_tab[976]
#define __pyx_n_u_create_from __pyx_string_tab[977]
#define __pyx_n_u_create_new __pyx_string_tab[978]
#define __pyx_n_u_credits __pyx_string_tab[979]
#define __pyx_n_u_ctype __pyx_string_tab[980]
#define __pyx_n_u_ctypedef_builtins_map __pyx_string_tab[981]
#define __pyx_n_u_cv_base_type __pyx_string_tab[982]
#define __pyx_n_u_d __pyx_string_tab[983]
#define __pyx_n_u_data __pyx_string_tab[984]
#define __pyx_n_u_dataclass __pyx_string_tab[985]
#define __pyx_n_u_dataclasses __pyx_string_tab[986]
#define __pyx_n_u_dealloc __pyx_string_tab[987]
#define __pyx_n_u_debug __pyx_string_tab[988]
#define __pyx_n_u_debug_temp_code_comments __pyx_string_tab[989]
#define __pyx_n_u_decl __pyx_string_tab[990]
#define __pyx_n_u_declaration __pyx_string_tab[991]
#define __pyx_n_u_declaration_code __pyx_string_tab[992]
#define __pyx_n_u_declare_gilstate __pyx_string_tab[993]
#define __pyx_n_u_declare_var __pyx_string_tab[994]
#define __pyx_n_u_declared_cnames __pyx_string_tab[995]
#define __pyx_n_u_decls __pyx_string_tab[996]
#define __pyx_n_u_decls_writer __pyx_string_tab[997]
#define __pyx_n_u_decode __pyx_string_tab[998]
#define __pyx_n_u_dedent __pyx_string_tab[999]
#define __pyx_n_u_dedup_const_index __pyx_string_tab[1000]
#define __pyx_n_u_dedup_key __pyx_string_tab[1001]
#define __pyx_n_u_deepcopy __pyx_string_tab[1002]
#define __pyx_n_u_def_node __pyx_string_tab[1003]
#define __pyx_n_u_default_value __pyx_string_tab[1004]
#define __pyx_n_u_defaultdict __pyx_string_tab[1005]
#define __pyx_n_u_define_constants __pyx_string_tab[1006]
#define __pyx_n_u_defined_in_pxd __pyx_string_tab[1007]
#define __pyx_n_u_defines __pyx_string_tab[1008]
#define __pyx_n_u_definition __pyx_string_tab[1009]
#define __pyx_n_u_delattr __pyx_string_tab[1010]
#define __pyx_n_u_dep __pyx_string_tab[1011]
#define __pyx_n_u_dependency __pyx_string_tab[1012]
#define __pyx_n_u_dict __pyx_string_tab[1013]
#define __pyx_n_u_dict_2 __pyx_string_tab[1014]
#define __pyx_n_u_dict_update __pyx_string_tab[1015]
#define __pyx_n_u_digit __pyx_string_tab[1016]
#define __pyx_n_u_digit_char __pyx_string_tab[1017]
#define __pyx_n_u_digits __pyx_string_tab[1018]
#define __pyx_n_u_dir __pyx_string_tab[1019]
#define __pyx_n_u_directives __pyx_string_tab[1020]
#define __pyx_n_u_dirname __pyx_string_tab[1021]
#define __pyx_n_u_divmod __pyx_string_tab[1022]
#define __pyx_n_u_dll_linkage __pyx_string_tab[1023]
#define __pyx_n_u_doc __pyx_string_tab[1024]
#define __pyx_n_u_doc_2 __pyx_string_tab[1025]
#define __pyx_n_u_doc_cname __pyx_string_tab[1026]
#define __pyx_n_u_done __pyx_string_tab[1027]
#define __pyx_n_u_double __pyx_string_tab[1028]
#define __pyx_n_u_e __pyx_string_tab[1029]
#define __pyx_n_u_elif __pyx_string_tab[1030]
#define __pyx_n_u_emit_code_comments __pyx_string_tab[1031]
#define __pyx_n_u_emit_linenums __pyx_string_tab[1032]
#define __pyx_n_u_empty __pyx_string_tab[1033]
#define __pyx_n_u_empty_2 __pyx_string_tab[1034]
#define __pyx_n_u_empty_declaration_code __pyx_string_tab[1035]
#define __pyx_n_u_encode __pyx_string_tab[1036]
#define __pyx_n_u_encode_pyunicode_string __pyx_string_tab[1037]
#define __pyx_n_u_encoding __pyx_string_tab[1038]
#define __pyx_n_u_end __pyx_string_tab[1039]
#define __pyx_n_u_end_block __pyx_string_tab[1040]
#define __pyx_n_u_endswith __pyx_string_tab[1041]
#define __pyx_n_u_enter __pyx_string_tab[1042]
#define __pyx_n_u_enter_cfunc_scope __pyx_string_tab[1043]
#define __pyx_n_u_entries __pyx_string_tab[1044]
#define __pyx_n_u_entry __pyx_string_tab[1045]
#define __pyx_n_u_entry_as_pyobject __pyx_string_tab[1046]
#define __pyx_n_u_entry_name __pyx_string_tab[1047]
#define __pyx_n_u_enumerate __pyx_string_tab[1048]
#define __pyx_n_u_error __pyx_string_tab[1049]
#define __pyx_n_u_error_goto __pyx_string_tab[1050]
#define __pyx_n_u_error_goto_if __pyx_string_tab[1051]
#define __pyx_n_u_error_goto_if_PyErr __pyx_string_tab[1052]
#define __pyx_n_u_error_goto_if_neg __pyx_string_tab[1053]
#define __pyx_n_u_error_goto_if_null __pyx_string_tab[1054]
#define __pyx_n_u_error_handling __pyx_string_tab[1055]
#define __pyx_n_u_error_label __pyx_string_tab[1056]
#define __pyx_n_u_error_pos __pyx_string_tab[1057]
#define __pyx_n_u_escape __pyx_string_tab[1058]
#define __pyx_n_u_escape_byte_string __pyx_string_tab[1059]
#define __pyx_n_u_escaped_bytes __pyx_string_tab[1060]
#define __pyx_n_u_escaped_value __pyx_string_tab[1061]
#define __pyx_n_u_eval __pyx_string_tab[1062]
#define __pyx_n_u_exec __pyx_string_tab[1063]
#define __pyx_n_u_exists __pyx_string_tab[1064]
#define __pyx_n_u_exit __pyx_string_tab[1065]
#define __pyx_n_u_exit_2 __pyx_string_tab[1066]
#define __pyx_n_u_exit_cfunc_scope __pyx_string_tab[1067]
#define __pyx_n_u_export __pyx_string_tab[1068]
#define __pyx_n_u_export_proto __pyx_string_tab[1069]
#define __pyx_n_u_expr_type __pyx_string_tab[1070]
#define __pyx_n_u_ext __pyx_string_tab[1071]
#define __pyx_n_u_extend __pyx_string_tab[1072]
#define __pyx_n_u_extra_arg __pyx_string_tab[1073]
#define __pyx_n_u_f __pyx_string_tab[1074]
#define __pyx_n_u_fast_getattr __pyx_string_tab[1075]
#define __pyx_n_u_fast_gil __pyx_string_tab[1076]
#define __pyx_n_u_file __pyx_string_tab[1077]
#define __pyx_n_u_file_2 __pyx_string_tab[1078]
#define __pyx_n_u_filename __pyx_string_tab[1079]
#define __pyx_n_u_filename_cname __pyx_string_tab[1080]
#define __pyx_n_u_filename_index __pyx_string_tab[1081]
#define __pyx_n_u_filename_list __pyx_string_tab[1082]
#define __pyx_n_u_filename_table __pyx_string_tab[1083]
#define __pyx_n_u_filetable_cname __pyx_string_tab[1084]
#define __pyx_n_u_filter __pyx_string_tab[1085]
#define __pyx_n_u_finalize_main_c_code __pyx_string_tab[1086]
#define __pyx_n_u_findall __pyx_string_tab[1087]
#define __pyx_n_u_first_interned __pyx_string_tab[1088]
#define __pyx_n_u_first_line __pyx_string_tab[1089]
#define __pyx_n_u_float __pyx_string_tab[1090]
#define __pyx_n_u_float_constants __pyx_string_tab[1091]
#define __pyx_n_u_format __pyx_string_tab[1092]
#define __pyx_n_u_format_code __pyx_string_tab[1093]
#define __pyx_n_u_format_impl_code __pyx_string_tab[1094]
#define __pyx_n_u_format_str __pyx_string_tab[1095]
#define __pyx_n_u_format_tuple __pyx_string_tab[1096]
#define __pyx_n_u_freelist __pyx_string_tab[1097]
#define __pyx_n_u_fresh __pyx_string_tab[1098]
#define __pyx_n_u_from_closure __pyx_string_tab[1099]
#define __pyx_n_u_from_file __pyx_string_tab[1100]
#define __pyx_n_u_frozenset __pyx_string_tab[1101]
#define __pyx_n_u_func __pyx_string_tab[1102]
#define __pyx_n_u_func_2 __pyx_string_tab[1103]
#define __pyx_n_u_func_call __pyx_string_tab[1104]
#define __pyx_n_u_func_cname __pyx_string_tab[1105]
#define __pyx_n_u_func_context __pyx_string_tab[1106]
#define __pyx_n_u_func_name __pyx_string_tab[1107]
#define __pyx_n_u_func_params __pyx_string_tab[1108]
#define __pyx_n_u_func_ptr __pyx_string_tab[1109]
#define __pyx_n_u_funccontext_property __pyx_string_tab[1110]
#define __pyx_n_u_funccontext_property_locals_get __pyx_string_tab[1111]
#define __pyx_n_u_funccontext_property_locals_set __pyx_string_tab[1112]
#define __pyx_n_u_funcstate __pyx_string_tab[1113]
#define __pyx_n_u_functools __pyx_string_tab[1114]
#define __pyx_n_u_gcc_branch_hints __pyx_string_tab[1115]
#define __pyx_n_u_generate_cached_methods_decls __pyx_string_tab[1116]
#define __pyx_n_u_generate_cleanup_code __pyx_string_tab[1117]
#define __pyx_n_u_generate_codeobj __pyx_string_tab[1118]
#define __pyx_n_u_generate_codeobject_constants __pyx_string_tab[1119]
#define __pyx_n_u_generate_const_declarations __pyx_string_tab[1120]
#define __pyx_n_u_generate_decref __pyx_string_tab[1121]
#define __pyx_n_u_generate_decref_clear __pyx_string_tab[1122]
#define __pyx_n_u_generate_decref_set __pyx_string_tab[1123]
#define __pyx_n_u_generate_forloop_start __pyx_string_tab[1124]
#define __pyx_n_u_generate_giveref __pyx_string_tab[1125]
#define __pyx_n_u_generate_gotref __pyx_string_tab[1126]
#define __pyx_n_u_generate_incref __pyx_string_tab[1127]
#define __pyx_n_u_generate_incref_memoryviewslice __pyx_string_tab[1128]
#define __pyx_n_u_generate_module_array_traverse __pyx_string_tab[1129]
#define __pyx_n_u_generate_num_constants __pyx_string_tab[1130]
#define __pyx_n_u_generate_object_constant_decls __pyx_string_tab[1131]
#define __pyx_n_u_generate_pystring_constants __pyx_string_tab[1132]
#define __pyx_n_u_generate_string_constants __pyx_string_tab[1133]
#define __pyx_n_u_generate_xdecref __pyx_string_tab[1134]
#define __pyx_n_u_generate_xdecref_clear __pyx_string_tab[1135]
#define __pyx_n_u_generate_xdecref_set __pyx_string_tab[1136]
#define __pyx_n_u_generate_xgiveref __pyx_string_tab[1137]
#define __pyx_n_u_generate_xgotref __pyx_string_tab[1138]
#define __pyx_n_u_generate_xincref __pyx_string_tab[1139]
#define __pyx_n_u_genexpr __pyx_string_tab[1140]
#define __pyx_n_u_get __pyx_string_tab[1141]
#define __pyx_n_u_get_all_labels __pyx_string_tab[1142]
#define __pyx_n_u_get_all_subtypes __pyx_string_tab[1143]
#define __pyx_n_u_get_argument_default_const __pyx_string_tab[1144]
#define __pyx_n_u_get_cached_constants_writer __pyx_string_tab[1145]
#define __pyx_n_u_get_cached_unbound_method __pyx_string_tab[1146]
#define __pyx_n_u_get_escaped_description __pyx_string_tab[1147]
#define __pyx_n_u_get_filenametable_entry __pyx_string_tab[1148]
#define __pyx_n_u_get_float_const __pyx_string_tab[1149]
#define __pyx_n_u_get_int_const __pyx_string_tab[1150]
#define __pyx_n_u_get_interned_identifier __pyx_string_tab[1151]
#define __pyx_n_u_get_lines __pyx_string_tab[1152]
#define __pyx_n_u_get_loop_labels __pyx_string_tab[1153]
#define __pyx_n_u_get_py_codeobj_const __pyx_string_tab[1154]
#define __pyx_n_u_get_py_const __pyx_string_tab[1155]
#define __pyx_n_u_get_py_float __pyx_string_tab[1156]
#define __pyx_n_u_get_py_int __pyx_string_tab[1157]
#define __pyx_n_u_get_py_string_const __pyx_string_tab[1158]
#define __pyx_n_u_get_py_version_hex __pyx_string_tab[1159]
#define __pyx_n_u_get_pyunicode_ptr_const __pyx_string_tab[1160]
#define __pyx_n_u_get_shared_library_scope __pyx_string_tab[1161]
#define __pyx_n_u_get_slot_by_method_name __pyx_string_tab[1162]
#define __pyx_n_u_get_slot_table __pyx_string_tab[1163]
#define __pyx_n_u_get_special_comment_matcher __pyx_string_tab[1164]
#define __pyx_n_u_get_string_const __pyx_string_tab[1165]
#define __pyx_n_u_get_tree __pyx_string_tab[1166]
#define __pyx_n_u_get_utility_dir __pyx_string_tab[1167]
#define __pyx_n_u_getattr __pyx_string_tab[1168]
#define __pyx_n_u_getattr_2 __pyx_string_tab[1169]
#define __pyx_n_u_getattribute __pyx_string_tab[1170]
#define __pyx_n_u_getbuffer __pyx_string_tab[1171]
#define __pyx_n_u_getitem __pyx_string_tab[1172]
#define __pyx_n_u_getpid __pyx_string_tab[1173]
#define __pyx_n_u_getvalue __pyx_string_tab[1174]
#define __pyx_n_u_global_state __pyx_string_tab[1175]
#define __pyx_n_u_global_var __pyx_string_tab[1176]
#define __pyx_n_u_globals __pyx_string_tab[1177]
#define __pyx_n_u_globalstate __pyx_string_tab[1178]
#define __pyx_n_u_group __pyx_string_tab[1179]
#define __pyx_n_u_groups __pyx_string_tab[1180]
#define __pyx_n_u_guard __pyx_string_tab[1181]
#define __pyx_n_u_h_code __pyx_string_tab[1182]
#define __pyx_n_u_h_code_layout __pyx_string_tab[1183]
#define __pyx_n_u_has_if __pyx_string_tab[1184]
#define __pyx_n_u_has_shared_utility_code __pyx_string_tab[1185]
#define __pyx_n_u_hasattr __pyx_string_tab[1186]
#define __pyx_n_u_hash __pyx_string_tab[1187]
#define __pyx_n_u_hashlib __pyx_string_tab[1188]
#define __pyx_n_u_have_gil __pyx_string_tab[1189]
#define __pyx_n_u_help __pyx_string_tab[1190]
#define __pyx_n_u_hex __pyx_string_tab[1191]
#define __pyx_n_u_hexdigest __pyx_string_tab[1192]
#define __pyx_n_u_i_11 __pyx_string_tab[1193]
#define __pyx_n_u_id __pyx_string_tab[1194]
#define __pyx_n_u_identifier __pyx_string_tab[1195]
#define __pyx_n_u_idx __pyx_string_tab[1196]
#define __pyx_n_u_if_2 __pyx_string_tab[1197]
#define __pyx_n_u_ignore __pyx_string_tab[1198]
#define __pyx_n_u_immortalize_constants __pyx_string_tab[1199]
#define __pyx_n_u_impl __pyx_string_tab[1200]
#define __pyx_n_u_impls __pyx_string_tab[1201]
#define __pyx_n_u_import __pyx_string_tab[1202]
#define __pyx_n_u_in_closure __pyx_string_tab[1203]
#define __pyx_n_u_in_nogil_context __pyx_string_tab[1204]
#define __pyx_n_u_in_utility_code_generation __pyx_string_tab[1205]
#define __pyx_n_u_include __pyx_string_tab[1206]
#define __pyx_n_u_include_cline __pyx_string_tab[1207]
#define __pyx_n_u_include_dir __pyx_string_tab[1208]
#define __pyx_n_u_include_file __pyx_string_tab[1209]
#define __pyx_n_u_include_requires __pyx_string_tab[1210]
#define __pyx_n_u_indent __pyx_string_tab[1211]
#define __pyx_n_u_indent_chunk __pyx_string_tab[1212]
#define __pyx_n_u_indent_level __pyx_string_tab[1213]
#define __pyx_n_u_indentation_length __pyx_string_tab[1214]
#define __pyx_n_u_indenter __pyx_string_tab[1215]
#define __pyx_n_u_index_2 __pyx_string_tab[1216]
#define __pyx_n_u_init __pyx_string_tab[1217]
#define __pyx_n_u_init_2 __pyx_string_tab[1218]
#define __pyx_n_u_init___locals_genexpr __pyx_string_tab[1219]
#define __pyx_n_u_init_closure_temps __pyx_string_tab[1220]
#define __pyx_n_u_init_codeobjects __pyx_string_tab[1221]
#define __pyx_n_u_init_constants __pyx_string_tab[1222]
#define __pyx_n_u_init_function __pyx_string_tab[1223]
#define __pyx_n_u_init_globals __pyx_string_tab[1224]
#define __pyx_n_u_init_module __pyx_string_tab[1225]
#define __pyx_n_u_initfunc_declarations __pyx_string_tab[1226]
#define __pyx_n_u_initial __pyx_string_tab[1227]
#define __pyx_n_u_initialised_constants __pyx_string_tab[1228]
#define __pyx_n_u_initialize_main_c_code __pyx_string_tab[1229]
#define __pyx_n_u_initialize_main_h_code __pyx_string_tab[1230]
#define __pyx_n_u_inject_cglobal __pyx_string_tab[1231]
#define __pyx_n_u_inject_empty_collection_constan __pyx_string_tab[1232]
#define __pyx_n_u_inject_string_constant __pyx_string_tab[1233]
#define __pyx_n_u_inject_unbound_method __pyx_string_tab[1234]
#define __pyx_n_u_inline __pyx_string_tab[1235]
#define __pyx_n_u_input __pyx_string_tab[1236]
#define __pyx_n_u_input_file_contents __pyx_string_tab[1237]
#define __pyx_n_u_insert __pyx_string_tab[1238]
#define __pyx_n_u_insertion_point __pyx_string_tab[1239]
#define __pyx_n_u_int __pyx_string_tab[1240]
#define __pyx_n_u_int16_t __pyx_string_tab[1241]
#define __pyx_n_u_int32_t __pyx_string_tab[1242]
#define __pyx_n_u_int64_t __pyx_string_tab[1243]
#define __pyx_n_u_int8_t __pyx_string_tab[1244]
#define __pyx_n_u_int_constant_count __pyx_string_tab[1245]
#define __pyx_n_u_int_constants_by_bytesize __pyx_string_tab[1246]
#define __pyx_n_u_int_constants_seen __pyx_string_tab[1247]
#define __pyx_n_u_int_suffix __pyx_string_tab[1248]
#define __pyx_n_u_int_types __pyx_string_tab[1249]
#define __pyx_n_u_intern __pyx_string_tab[1250]
#define __pyx_n_u_intern_identifier __pyx_string_tab[1251]
#define __pyx_n_u_interned_prefixes __pyx_string_tab[1252]
#define __pyx_n_u_is_binop_number_slot __pyx_string_tab[1253]
#define __pyx_n_u_is_builtin __pyx_string_tab[1254]
#define __pyx_n_u_is_c_class_scope __pyx_string_tab[1255]
#define __pyx_n_u_is_cdef __pyx_string_tab[1256]
#define __pyx_n_u_is_cfunction __pyx_string_tab[1257]
#define __pyx_n_u_is_cglobal __pyx_string_tab[1258]
#define __pyx_n_u_is_complete __pyx_string_tab[1259]
#define __pyx_n_u_is_const __pyx_string_tab[1260]
#define __pyx_n_u_is_coroutine __pyx_string_tab[1261]
#define __pyx_n_u_is_cpdef_func __pyx_string_tab[1262]
#define __pyx_n_u_is_cpp_class __pyx_string_tab[1263]
#define __pyx_n_u_is_cpp_optional __pyx_string_tab[1264]
#define __pyx_n_u_is_cv_qualified __pyx_string_tab[1265]
#define __pyx_n_u_is_cython_utility __pyx_string_tab[1266]
#define __pyx_n_u_is_extension_type __pyx_string_tab[1267]
#define __pyx_n_u_is_fake_reference __pyx_string_tab[1268]
#define __pyx_n_u_is_generator __pyx_string_tab[1269]
#define __pyx_n_u_is_generator_expression __pyx_string_tab[1270]
#define __pyx_n_u_is_interned __pyx_string_tab[1271]
#define __pyx_n_u_is_member __pyx_string_tab[1272]
#define __pyx_n_u_is_memoryviewslice __pyx_string_tab[1273]
#define __pyx_n_u_is_module_scope __pyx_string_tab[1274]
#define __pyx_n_u_is_module_specific __pyx_string_tab[1275]
#define __pyx_n_u_is_named __pyx_string_tab[1276]
#define __pyx_n_u_is_neg __pyx_string_tab[1277]
#define __pyx_n_u_is_number_slot __pyx_string_tab[1278]
#define __pyx_n_u_is_py_class_scope __pyx_string_tab[1279]
#define __pyx_n_u_is_pyobject __pyx_string_tab[1280]
#define __pyx_n_u_is_pytemp __pyx_string_tab[1281]
#define __pyx_n_u_is_reference __pyx_string_tab[1282]
#define __pyx_n_u_is_self_arg __pyx_string_tab[1283]
#define __pyx_n_u_is_special __pyx_string_tab[1284]
#define __pyx_n_u_is_string __pyx_string_tab[1285]
#define __pyx_n_u_is_tracing __pyx_string_tab[1286]
#define __pyx_n_u_is_unicode __pyx_string_tab[1287]
#define __pyx_n_u_is_variable __pyx_string_tab[1288]
#define __pyx_n_u_is_void __pyx_string_tab[1289]
#define __pyx_n_u_isinstance __pyx_string_tab[1290]
#define __pyx_n_u_issubclass __pyx_string_tab[1291]
#define __pyx_n_u_items __pyx_string_tab[1292]
#define __pyx_n_u_iter __pyx_string_tab[1293]
#define __pyx_n_u_join __pyx_string_tab[1294]
#define __pyx_n_u_k __pyx_string_tab[1295]
#define __pyx_n_u_keepends __pyx_string_tab[1296]
#define __pyx_n_u_key __pyx_string_tab[1297]
#define __pyx_n_u_klass __pyx_string_tab[1298]
#define __pyx_n_u_kwargs __pyx_string_tab[1299]
#define __pyx_n_u_kwds __pyx_string_tab[1300]
#define __pyx_n_u_label __pyx_string_tab[1301]
#define __pyx_n_u_label_counter __pyx_string_tab[1302]
#define __pyx_n_u_label_interceptor __pyx_string_tab[1303]
#define __pyx_n_u_label_prefix __pyx_string_tab[1304]
#define __pyx_n_u_label_used __pyx_string_tab[1305]
#define __pyx_n_u_labels __pyx_string_tab[1306]
#define __pyx_n_u_labels_used __pyx_string_tab[1307]
#define __pyx_n_u_lambda __pyx_string_tab[1308]
#define __pyx_n_u_large_constants __pyx_string_tab[1309]
#define __pyx_n_u_last_macro_processor __pyx_string_tab[1310]
#define __pyx_n_u_last_processor __pyx_string_tab[1311]
#define __pyx_n_u_late __pyx_string_tab[1312]
#define __pyx_n_u_late_includes __pyx_string_tab[1313]
#define __pyx_n_u_lbl __pyx_string_tab[1314]
#define __pyx_n_u_leftovers __pyx_string_tab[1315]
#define __pyx_n_u_len __pyx_string_tab[1316]
#define __pyx_n_u_length __pyx_string_tab[1317]
#define __pyx_n_u_level __pyx_string_tab[1318]
#define __pyx_n_u_levels __pyx_string_tab[1319]
#define __pyx_n_u_license __pyx_string_tab[1320]
#define __pyx_n_u_line_2 __pyx_string_tab[1321]
#define __pyx_n_u_line_comment_char __pyx_string_tab[1322]
#define __pyx_n_u_lineno __pyx_string_tab[1323]
#define __pyx_n_u_lineno_cname __pyx_string_tab[1324]
#define __pyx_n_u_lines __pyx_string_tab[1325]
#define __pyx_n_u_linetrace __pyx_string_tab[1326]
#define __pyx_n_u_list __pyx_string_tab[1327]
#define __pyx_n_u_literal_code __pyx_string_tab[1328]
#define __pyx_n_u_load __pyx_string_tab[1329]
#define __pyx_n_u_load_as_string __pyx_string_tab[1330]
#define __pyx_n_u_load_as_string_locals_prepend __pyx_string_tab[1331]
#define __pyx_n_u_load_cached __pyx_string_tab[1332]
#define __pyx_n_u_load_utilities_from_file __pyx_string_tab[1333]
#define __pyx_n_u_load_utilities_from_file_locals __pyx_string_tab[1334]
#define __pyx_n_u_locals __pyx_string_tab[1335]
#define __pyx_n_u_location __pyx_string_tab[1336]
#define __pyx_n_u_long __pyx_string_tab[1337]
#define __pyx_n_u_longness __pyx_string_tab[1338]
#define __pyx_n_u_lookup_filename __pyx_string_tab[1339]
#define __pyx_n_u_lower __pyx_string_tab[1340]
#define __pyx_n_u_lstrip __pyx_string_tab[1341]
#define __pyx_n_u_m __pyx_string_tab[1342]
#define __pyx_n_u_macro __pyx_string_tab[1343]
#define __pyx_n_u_macro_names __pyx_string_tab[1344]
#define __pyx_n_u_main __pyx_string_tab[1345]
#define __pyx_n_u_main_method __pyx_string_tab[1346]
#define __pyx_n_u_mainpiece __pyx_string_tab[1347]
#define __pyx_n_u_manage_ref __pyx_string_tab[1348]
#define __pyx_n_u_mangle_internal __pyx_string_tab[1349]
#define __pyx_n_u_map __pyx_string_tab[1350]
#define __pyx_n_u_mapper __pyx_string_tab[1351]
#define __pyx_n_u_mark_pos __pyx_string_tab[1352]
#define __pyx_n_u_match __pyx_string_tab[1353]
#define __pyx_n_u_match_section_title __pyx_string_tab[1354]
#define __pyx_n_u_match_special __pyx_string_tab[1355]
#define __pyx_n_u_match_type __pyx_string_tab[1356]
#define __pyx_n_u_matched __pyx_string_tab[1357]
#define __pyx_n_u_matchobj __pyx_string_tab[1358]
#define __pyx_n_u_max __pyx_string_tab[1359]
#define __pyx_n_u_max_flags __pyx_string_tab[1360]
#define __pyx_n_u_max_func_args __pyx_string_tab[1361]
#define __pyx_n_u_max_kwonly_args __pyx_string_tab[1362]
#define __pyx_n_u_max_line __pyx_string_tab[1363]
#define __pyx_n_u_max_posonly_args __pyx_string_tab[1364]
#define __pyx_n_u_max_vars __pyx_string_tab[1365]
#define __pyx_n_u_may_have_refcycles __pyx_string_tab[1366]
#define __pyx_n_u_memodict __pyx_string_tab[1367]
#define __pyx_n_u_memoryview __pyx_string_tab[1368]
#define __pyx_n_u_metaclass __pyx_string_tab[1369]
#define __pyx_n_u_method_coexist __pyx_string_tab[1370]
#define __pyx_n_u_method_flags __pyx_string_tab[1371]
#define __pyx_n_u_method_function_type __pyx_string_tab[1372]
#define __pyx_n_u_method_name __pyx_string_tab[1373]
#define __pyx_n_u_method_name_cname __pyx_string_tab[1374]
#define __pyx_n_u_method_noargs __pyx_string_tab[1375]
#define __pyx_n_u_method_wrapper_prefix __pyx_string_tab[1376]
#define __pyx_n_u_min __pyx_string_tab[1377]
#define __pyx_n_u_modifier_output_mapper __pyx_string_tab[1378]
#define __pyx_n_u_modifiers __pyx_string_tab[1379]
#define __pyx_n_u_module __pyx_string_tab[1380]
#define __pyx_n_u_module_code __pyx_string_tab[1381]
#define __pyx_n_u_module_declarations __pyx_string_tab[1382]
#define __pyx_n_u_module_exttypes __pyx_string_tab[1383]
#define __pyx_n_u_module_node __pyx_string_tab[1384]
#define __pyx_n_u_module_pos __pyx_string_tab[1385]
#define __pyx_n_u_module_state __pyx_string_tab[1386]
#define __pyx_n_u_module_state_clear __pyx_string_tab[1387]
#define __pyx_n_u_module_state_clear_contents __pyx_string_tab[1388]
#define __pyx_n_u_module_state_clear_end __pyx_string_tab[1389]
#define __pyx_n_u_module_state_contents __pyx_string_tab[1390]
#define __pyx_n_u_module_state_decls __pyx_string_tab[1391]
#define __pyx_n_u_module_state_end __pyx_string_tab[1392]
#define __pyx_n_u_module_state_traverse __pyx_string_tab[1393]
#define __pyx_n_u_module_state_traverse_contents __pyx_string_tab[1394]
#define __pyx_n_u_module_state_traverse_end __pyx_string_tab[1395]
#define __pyx_n_u_modulestate_cname __pyx_string_tab[1396]
#define __pyx_n_u_modulestateglobal_cname __pyx_string_tab[1397]
#define __pyx_n_u_modulestatetype_cname __pyx_string_tab[1398]
#define __pyx_n_u_modulestatevalue_cname __pyx_string_tab[1399]
#define __pyx_n_u_move __pyx_string_tab[1400]
#define __pyx_n_u_mro_entries __pyx_string_tab[1401]
#define __pyx_n_u_msg __pyx_string_tab[1402]
#define __pyx_n_u_mtype __pyx_string_tab[1403]
#define __pyx_n_u_name __pyx_string_tab[1404]
#define __pyx_n_u_name_2 __pyx_string_tab[1405]
#define __pyx_n_u_name_3 __pyx_string_tab[1406]
#define __pyx_n_u_name_in_main_c_code_module_state __pyx_string_tab[1407]
#define __pyx_n_u_name_in_module_state __pyx_string_tab[1408]
#define __pyx_n_u_name_in_slot_module_state __pyx_string_tab[1409]
#define __pyx_n_u_name_suffix __pyx_string_tab[1410]
#define __pyx_n_u_named_insertion_point __pyx_string_tab[1411]
#define __pyx_n_u_names_taken __pyx_string_tab[1412]
#define __pyx_n_u_namespace_cname __pyx_string_tab[1413]
#define __pyx_n_u_namespace_cname_in_module_state __pyx_string_tab[1414]
#define __pyx_n_u_naming __pyx_string_tab[1415]
#define __pyx_n_u_nanny __pyx_string_tab[1416]
#define __pyx_n_u_needs_funcstate __pyx_string_tab[1417]
#define __pyx_n_u_needs_prototype __pyx_string_tab[1418]
#define __pyx_n_u_needs_refcounting __pyx_string_tab[1419]
#define __pyx_n_u_neg __pyx_string_tab[1420]
#define __pyx_n_u_new_array_const_cname __pyx_string_tab[1421]
#define __pyx_n_u_new_code __pyx_string_tab[1422]
#define __pyx_n_u_new_const_cname __pyx_string_tab[1423]
#define __pyx_n_u_new_error_label __pyx_string_tab[1424]
#define __pyx_n_u_new_label __pyx_string_tab[1425]
#define __pyx_n_u_new_labels __pyx_string_tab[1426]
#define __pyx_n_u_new_loop_labels __pyx_string_tab[1427]
#define __pyx_n_u_new_num_const __pyx_string_tab[1428]
#define __pyx_n_u_new_num_const_cname __pyx_string_tab[1429]
#define __pyx_n_u_new_string_const __pyx_string_tab[1430]
#define __pyx_n_u_new_string_const_cname __pyx_string_tab[1431]
#define __pyx_n_u_new_writer __pyx_string_tab[1432]
#define __pyx_n_u_new_yield_label __pyx_string_tab[1433]
#define __pyx_n_u_next __pyx_string_tab[1434]
#define __pyx_n_u_next_2 __pyx_string_tab[1435]
#define __pyx_n_u_no __pyx_string_tab[1436]
#define __pyx_n_u_node __pyx_string_tab[1437]
#define __pyx_n_u_node_positions_to_offset __pyx_string_tab[1438]
#define __pyx_n_u_nogil __pyx_string_tab[1439]
#define __pyx_n_u_nogil_tag __pyx_string_tab[1440]
#define __pyx_n_u_none_or_sub __pyx_string_tab[1441]
#define __pyx_n_u_num_and_label __pyx_string_tab[1442]
#define __pyx_n_u_num_const_index __pyx_string_tab[1443]
#define __pyx_n_u_num_kwonly_args __pyx_string_tab[1444]
#define __pyx_n_u_num_posonly_args __pyx_string_tab[1445]
#define __pyx_n_u_number __pyx_string_tab[1446]
#define __pyx_n_u_number_value __pyx_string_tab[1447]
#define __pyx_n_u_numbertab_cname __pyx_string_tab[1448]
#define __pyx_n_u_numeric_typedefs __pyx_string_tab[1449]
#define __pyx_n_u_obj_cname __pyx_string_tab[1450]
#define __pyx_n_u_object __pyx_string_tab[1451]
#define __pyx_n_u_oct __pyx_string_tab[1452]
#define __pyx_n_u_old_err_lbl __pyx_string_tab[1453]
#define __pyx_n_u_old_label __pyx_string_tab[1454]
#define __pyx_n_u_old_labels __pyx_string_tab[1455]
#define __pyx_n_u_open __pyx_string_tab[1456]
#define __pyx_n_u_open_new_file __pyx_string_tab[1457]
#define __pyx_n_u_open_source_file __pyx_string_tab[1458]
#define __pyx_n_u_operator __pyx_string_tab[1459]
#define __pyx_n_u_options __pyx_string_tab[1460]
#define __pyx_n_u_ord __pyx_string_tab[1461]
#define __pyx_n_u_order __pyx_string_tab[1462]
#define __pyx_n_u_orig_kwargs __pyx_string_tab[1463]
#define __pyx_n_u_orig_label __pyx_string_tab[1464]
#define __pyx_n_u_orig_labels __pyx_string_tab[1465]
#define __pyx_n_u_os __pyx_string_tab[1466]
#define __pyx_n_u_other __pyx_string_tab[1467]
#define __pyx_n_u_outfile_name __pyx_string_tab[1468]
#define __pyx_n_u_output __pyx_string_tab[1469]
#define __pyx_n_u_owner __pyx_string_tab[1470]
#define __pyx_n_u_parallel_freethreading_mutex __pyx_string_tab[1471]
#define __pyx_n_u_params __pyx_string_tab[1472]
#define __pyx_n_u_parent_scope __pyx_string_tab[1473]
#define __pyx_n_u_parse_export_functions __pyx_string_tab[1474]
#define __pyx_n_u_parsed_protos __pyx_string_tab[1475]
#define __pyx_n_u_part __pyx_string_tab[1476]
#define __pyx_n_u_part_writer __pyx_string_tab[1477]
#define __pyx_n_u_partial __pyx_string_tab[1478]
#define __pyx_n_u_partition __pyx_string_tab[1479]
#define __pyx_n_u_parts __pyx_string_tab[1480]
#define __pyx_n_u_parts_tuple __pyx_string_tab[1481]
#define __pyx_n_u_path __pyx_string_tab[1482]
#define __pyx_n_u_pieces __pyx_string_tab[1483]
#define __pyx_n_u_pop __pyx_string_tab[1484]
#define __pyx_n_u_pos __pyx_string_tab[1485]
#define __pyx_n_u_pos_to_offset __pyx_string_tab[1486]
#define __pyx_n_u_pow __pyx_string_tab[1487]
#define __pyx_n_u_prefix __pyx_string_tab[1488]
#define __pyx_n_u_prepare __pyx_string_tab[1489]
#define __pyx_n_u_prepend __pyx_string_tab[1490]
#define __pyx_n_u_preproc_guard __pyx_string_tab[1491]
#define __pyx_n_u_preprocessor_guard_code __pyx_string_tab[1492]
#define __pyx_n_u_print __pyx_string_tab[1493]
#define __pyx_n_u_private __pyx_string_tab[1494]
#define __pyx_n_u_process __pyx_string_tab[1495]
#define __pyx_n_u_process_utility_ccode __pyx_string_tab[1496]
#define __pyx_n_u_profile __pyx_string_tab[1497]
#define __pyx_n_u_property __pyx_string_tab[1498]
#define __pyx_n_u_proto __pyx_string_tab[1499]
#define __pyx_n_u_proto_block __pyx_string_tab[1500]
#define __pyx_n_u_proto_regex __pyx_string_tab[1501]
#define __pyx_n_u_protos __pyx_string_tab[1502]
#define __pyx_n_u_put __pyx_string_tab[1503]
#define __pyx_n_u_put_acquire_freethreading_lock __pyx_string_tab[1504]
#define __pyx_n_u_put_acquire_gil __pyx_string_tab[1505]
#define __pyx_n_u_put_add_traceback __pyx_string_tab[1506]
#define __pyx_n_u_put_cached_builtin_init __pyx_string_tab[1507]
#define __pyx_n_u_put_chunk __pyx_string_tab[1508]
#define __pyx_n_u_put_code __pyx_string_tab[1509]
#define __pyx_n_u_put_code_here __pyx_string_tab[1510]
#define __pyx_n_u_put_code_section __pyx_string_tab[1511]
#define __pyx_n_u_put_cpp_placement_new __pyx_string_tab[1512]
#define __pyx_n_u_put_declare_refcount_context __pyx_string_tab[1513]
#define __pyx_n_u_put_decref __pyx_string_tab[1514]
#define __pyx_n_u_put_decref_clear __pyx_string_tab[1515]
#define __pyx_n_u_put_decref_set __pyx_string_tab[1516]
#define __pyx_n_u_put_ensure_gil __pyx_string_tab[1517]
#define __pyx_n_u_put_error_if_neg __pyx_string_tab[1518]
#define __pyx_n_u_put_error_if_unbound __pyx_string_tab[1519]
#define __pyx_n_u_put_finish_refcount_context __pyx_string_tab[1520]
#define __pyx_n_u_put_generated_by __pyx_string_tab[1521]
#define __pyx_n_u_put_giveref __pyx_string_tab[1522]
#define __pyx_n_u_put_goto __pyx_string_tab[1523]
#define __pyx_n_u_put_gotref __pyx_string_tab[1524]
#define __pyx_n_u_put_h_guard __pyx_string_tab[1525]
#define __pyx_n_u_put_incref __pyx_string_tab[1526]
#define __pyx_n_u_put_incref_memoryviewslice __pyx_string_tab[1527]
#define __pyx_n_u_put_init_code_section __pyx_string_tab[1528]
#define __pyx_n_u_put_init_to_py_none __pyx_string_tab[1529]
#define __pyx_n_u_put_init_var_to_py_none __pyx_string_tab[1530]
#define __pyx_n_u_put_label __pyx_string_tab[1531]
#define __pyx_n_u_put_make_object_deferred __pyx_string_tab[1532]
#define __pyx_n_u_put_or_include __pyx_string_tab[1533]
#define __pyx_n_u_put_pymethoddef __pyx_string_tab[1534]
#define __pyx_n_u_put_pymethoddef_wrapper __pyx_string_tab[1535]
#define __pyx_n_u_put_pyobject_decl __pyx_string_tab[1536]
#define __pyx_n_u_put_release_ensured_gil __pyx_string_tab[1537]
#define __pyx_n_u_put_release_freethreading_lock __pyx_string_tab[1538]
#define __pyx_n_u_put_release_gil __pyx_string_tab[1539]
#define __pyx_n_u_put_safe __pyx_string_tab[1540]
#define __pyx_n_u_put_setup_refcount_context __pyx_string_tab[1541]
#define __pyx_n_u_put_shared_function_declaration __pyx_string_tab[1542]
#define __pyx_n_u_put_temp_declarations __pyx_string_tab[1543]
#define __pyx_n_u_put_trace_declarations __pyx_string_tab[1544]
#define __pyx_n_u_put_trace_exception __pyx_string_tab[1545]
#define __pyx_n_u_put_trace_exception_handled __pyx_string_tab[1546]
#define __pyx_n_u_put_trace_exception_propagating __pyx_string_tab[1547]
#define __pyx_n_u_put_trace_exit __pyx_string_tab[1548]
#define __pyx_n_u_put_trace_frame_init __pyx_string_tab[1549]
#define __pyx_n_u_put_trace_resume __pyx_string_tab[1550]
#define __pyx_n_u_put_trace_return __pyx_string_tab[1551]
#define __pyx_n_u_put_trace_start __pyx_string_tab[1552]
#define __pyx_n_u_put_trace_stopiteration __pyx_string_tab[1553]
#define __pyx_n_u_put_trace_unwind __pyx_string_tab[1554]
#define __pyx_n_u_put_trace_yield __pyx_string_tab[1555]
#define __pyx_n_u_put_unraisable __pyx_string_tab[1556]
#define __pyx_n_u_put_var_declaration __pyx_string_tab[1557]
#define __pyx_n_u_put_var_decref __pyx_string_tab[1558]
#define __pyx_n_u_put_var_decref_clear __pyx_string_tab[1559]
#define __pyx_n_u_put_var_decref_set __pyx_string_tab[1560]
#define __pyx_n_u_put_var_decrefs __pyx_string_tab[1561]
#define __pyx_n_u_put_var_giveref __pyx_string_tab[1562]
#define __pyx_n_u_put_var_gotref __pyx_string_tab[1563]
#define __pyx_n_u_put_var_incref __pyx_string_tab[1564]
#define __pyx_n_u_put_var_incref_memoryviewslice __pyx_string_tab[1565]
#define __pyx_n_u_put_var_xdecref __pyx_string_tab[1566]
#define __pyx_n_u_put_var_xdecref_clear __pyx_string_tab[1567]
#define __pyx_n_u_put_var_xdecref_set __pyx_string_tab[1568]
#define __pyx_n_u_put_var_xdecrefs __pyx_string_tab[1569]
#define __pyx_n_u_put_var_xdecrefs_clear __pyx_string_tab[1570]
#define __pyx_n_u_put_var_xgiveref __pyx_string_tab[1571]
#define __pyx_n_u_put_var_xgotref __pyx_string_tab[1572]
#define __pyx_n_u_put_var_xincref __pyx_string_tab[1573]
#define __pyx_n_u_put_xdecref __pyx_string_tab[1574]
#define __pyx_n_u_put_xdecref_clear __pyx_string_tab[1575]
#define __pyx_n_u_put_xdecref_set __pyx_string_tab[1576]
#define __pyx_n_u_put_xgiveref __pyx_string_tab[1577]
#define __pyx_n_u_put_xgotref __pyx_string_tab[1578]
#define __pyx_n_u_put_xincref __pyx_string_tab[1579]
#define __pyx_n_u_putln __pyx_string_tab[1580]
#define __pyx_n_u_putln_openmp __pyx_string_tab[1581]
#define __pyx_n_u_py_bytes_consts __pyx_string_tab[1582]
#define __pyx_n_u_py_const_prefix __pyx_string_tab[1583]
#define __pyx_n_u_py_float __pyx_string_tab[1584]
#define __pyx_n_u_py_int __pyx_string_tab[1585]
#define __pyx_n_u_py_long __pyx_string_tab[1586]
#define __pyx_n_u_py_none __pyx_string_tab[1587]
#define __pyx_n_u_py_object_type __pyx_string_tab[1588]
#define __pyx_n_u_py_string __pyx_string_tab[1589]
#define __pyx_n_u_py_string_count __pyx_string_tab[1590]
#define __pyx_n_u_py_strings __pyx_string_tab[1591]
#define __pyx_n_u_py_type __pyx_string_tab[1592]
#define __pyx_n_u_py_unicode_consts __pyx_string_tab[1593]
#define __pyx_n_u_pyrex_prefix __pyx_string_tab[1594]
#define __pyx_n_u_pyrex_type __pyx_string_tab[1595]
#define __pyx_n_u_pystring_table __pyx_string_tab[1596]
#define __pyx_n_u_pyunicode_ptr_const_index __pyx_string_tab[1597]
#define __pyx_n_u_pyversion __pyx_string_tab[1598]
#define __pyx_n_u_pyx_gilstate_save __pyx_string_tab[1599]
#define __pyx_n_u_pyx_vtable __pyx_string_tab[1600]
#define __pyx_n_u_qualified_name __pyx_string_tab[1601]
#define __pyx_n_u_qualname __pyx_string_tab[1602]
#define __pyx_n_u_quit __pyx_string_tab[1603]
#define __pyx_n_u_r __pyx_string_tab[1604]
#define __pyx_n_u_range __pyx_string_tab[1605]
#define __pyx_n_u_raw_input __pyx_string_tab[1606]
#define __pyx_n_u_re __pyx_string_tab[1607]
#define __pyx_n_u_read_item __pyx_string_tab[1608]
#define __pyx_n_u_read_utilities_from_utility_dir __pyx_string_tab[1609]
#define __pyx_n_u_read_utilities_hook __pyx_string_tab[1610]
#define __pyx_n_u_readlines __pyx_string_tab[1611]
#define __pyx_n_u_redef_builtin_expect __pyx_string_tab[1612]
#define __pyx_n_u_ref_base_type __pyx_string_tab[1613]
#define __pyx_n_u_refnanny __pyx_string_tab[1614]
#define __pyx_n_u_regex __pyx_string_tab[1615]
#define __pyx_n_u_release_temp __pyx_string_tab[1616]
#define __pyx_n_u_releasebuffer __pyx_string_tab[1617]
#define __pyx_n_u_remove __pyx_string_tab[1618]
#define __pyx_n_u_renamed_py2_builtins_map __pyx_string_tab[1619]
#define __pyx_n_u_replace __pyx_string_tab[1620]
#define __pyx_n_u_replace_empty_lines __pyx_string_tab[1621]
#define __pyx_n_u_repr __pyx_string_tab[1622]
#define __pyx_n_u_requires __pyx_string_tab[1623]
#define __pyx_n_u_reraise __pyx_string_tab[1624]
#define __pyx_n_u_reset __pyx_string_tab[1625]
#define __pyx_n_u_result __pyx_string_tab[1626]
#define __pyx_n_u_result_is_module_specific __pyx_string_tab[1627]
#define __pyx_n_u_result_type __pyx_string_tab[1628]
#define __pyx_n_u_ret __pyx_string_tab[1629]
#define __pyx_n_u_ret_type __pyx_string_tab[1630]
#define __pyx_n_u_return __pyx_string_tab[1631]
#define __pyx_n_u_return_from_error_cleanup_label __pyx_string_tab[1632]
#define __pyx_n_u_return_label __pyx_string_tab[1633]
#define __pyx_n_u_return_type __pyx_string_tab[1634]
#define __pyx_n_u_retvalue_cname __pyx_string_tab[1635]
#define __pyx_n_u_reusable __pyx_string_tab[1636]
#define __pyx_n_u_reverse __pyx_string_tab[1637]
#define __pyx_n_u_reversed __pyx_string_tab[1638]
#define __pyx_n_u_rhs_cname __pyx_string_tab[1639]
#define __pyx_n_u_rhs_code __pyx_string_tab[1640]
#define __pyx_n_u_richcmp __pyx_string_tab[1641]
#define __pyx_n_u_rootwriter __pyx_string_tab[1642]
#define __pyx_n_u_round __pyx_string_tab[1643]
#define __pyx_n_u_rsplit __pyx_string_tab[1644]
#define __pyx_n_u_rstrip __pyx_string_tab[1645]
#define __pyx_n_u_s_4 __pyx_string_tab[1646]
#define __pyx_n_u_safe __pyx_string_tab[1647]
#define __pyx_n_u_scope __pyx_string_tab[1648]
#define __pyx_n_u_scope_class __pyx_string_tab[1649]
#define __pyx_n_u_self __pyx_string_tab[1650]
#define __pyx_n_u_send __pyx_string_tab[1651]
#define __pyx_n_u_sep __pyx_string_tab[1652]
#define __pyx_n_u_set __pyx_string_tab[1653]
#define __pyx_n_u_set_all_labels __pyx_string_tab[1654]
#define __pyx_n_u_set_error_info __pyx_string_tab[1655]
#define __pyx_n_u_set_global_state __pyx_string_tab[1656]
#define __pyx_n_u_set_loop_labels __pyx_string_tab[1657]
#define __pyx_n_u_set_name __pyx_string_tab[1658]
#define __pyx_n_u_setattr __pyx_string_tab[1659]
#define __pyx_n_u_setdefault __pyx_string_tab[1660]
#define __pyx_n_u_sha256 __pyx_string_tab[1661]
#define __pyx_n_u_shared __pyx_string_tab[1662]
#define __pyx_n_u_shared_utility_functions __pyx_string_tab[1663]
#define __pyx_n_u_shared_utility_qualified_name __pyx_string_tab[1664]
#define __pyx_n_u_should_declare __pyx_string_tab[1665]
#define __pyx_n_u_shutil __pyx_string_tab[1666]
#define __pyx_n_u_signature __pyx_string_tab[1667]
#define __pyx_n_u_skip_dispatch_cname __pyx_string_tab[1668]
#define __pyx_n_u_skip_to_label __pyx_string_tab[1669]
#define __pyx_n_u_slice __pyx_string_tab[1670]
#define __pyx_n_u_slice_cname __pyx_string_tab[1671]
#define __pyx_n_u_slot __pyx_string_tab[1672]
#define __pyx_n_u_slotfunc_cname __pyx_string_tab[1673]
#define __pyx_n_u_sorted __pyx_string_tab[1674]
#define __pyx_n_u_sortkey __pyx_string_tab[1675]
#define __pyx_n_u_source_desc __pyx_string_tab[1676]
#define __pyx_n_u_source_file __pyx_string_tab[1677]
#define __pyx_n_u_specialization_name __pyx_string_tab[1678]
#define __pyx_n_u_specialize __pyx_string_tab[1679]
#define __pyx_n_u_split __pyx_string_tab[1680]
#define __pyx_n_u_split_string_literal __pyx_string_tab[1681]
#define __pyx_n_u_splitext __pyx_string_tab[1682]
#define __pyx_n_u_splitlines __pyx_string_tab[1683]
#define __pyx_n_u_start_collecting_temps __pyx_string_tab[1684]
#define __pyx_n_u_start_initcfunc __pyx_string_tab[1685]
#define __pyx_n_u_start_offset __pyx_string_tab[1686]
#define __pyx_n_u_start_slotfunc __pyx_string_tab[1687]
#define __pyx_n_u_static_2 __pyx_string_tab[1688]
#define __pyx_n_u_staticmethod __pyx_string_tab[1689]
#define __pyx_n_u_stop_collecting_temps __pyx_string_tab[1690]
#define __pyx_n_u_storage_class __pyx_string_tab[1691]
#define __pyx_n_u_store_array __pyx_string_tab[1692]
#define __pyx_n_u_str __pyx_string_tab[1693]
#define __pyx_n_u_str_to_number __pyx_string_tab[1694]
#define __pyx_n_u_str_type __pyx_string_tab[1695]
#define __pyx_n_u_str_value __pyx_string_tab[1696]
#define __pyx_n_u_strategy __pyx_string_tab[1697]
#define __pyx_n_u_string __pyx_string_tab[1698]
#define __pyx_n_u_string_const_index __pyx_string_tab[1699]
#define __pyx_n_u_string_decls __pyx_string_tab[1700]
#define __pyx_n_u_stringtab_bytes_start __pyx_string_tab[1701]
#define __pyx_n_u_stringtab_cname __pyx_string_tab[1702]
#define __pyx_n_u_stringtab_pos __pyx_string_tab[1703]
#define __pyx_n_u_strip __pyx_string_tab[1704]
#define __pyx_n_u_strip_comments __pyx_string_tab[1705]
#define __pyx_n_u_struct_attr_cname __pyx_string_tab[1706]
#define __pyx_n_u_sub __pyx_string_tab[1707]
#define __pyx_n_u_sub_tempita __pyx_string_tab[1708]
#define __pyx_n_u_subinterpreters_compatible __pyx_string_tab[1709]
#define __pyx_n_u_substitute __pyx_string_tab[1710]
#define __pyx_n_u_sum __pyx_string_tab[1711]
#define __pyx_n_u_super __pyx_string_tab[1712]
#define __pyx_n_u_tag __pyx_string_tab[1713]
#define __pyx_n_u_tag_name __pyx_string_tab[1714]
#define __pyx_n_u_tag_value __pyx_string_tab[1715]
#define __pyx_n_u_tag_values __pyx_string_tab[1716]
#define __pyx_n_u_tags __pyx_string_tab[1717]
#define __pyx_n_u_target __pyx_string_tab[1718]
#define __pyx_n_u_tempita __pyx_string_tab[1719]
#define __pyx_n_u_template __pyx_string_tab[1720]
#define __pyx_n_u_temps_allocated __pyx_string_tab[1721]
#define __pyx_n_u_temps_count __pyx_string_tab[1722]
#define __pyx_n_u_temps_free __pyx_string_tab[1723]
#define __pyx_n_u_temps_holding_reference __pyx_string_tab[1724]
#define __pyx_n_u_temps_in_use __pyx_string_tab[1725]
#define __pyx_n_u_term __pyx_string_tab[1726]
#define __pyx_n_u_text __pyx_string_tab[1727]
#define __pyx_n_u_text_strings __pyx_string_tab[1728]
#define __pyx_n_u_textwrap __pyx_string_tab[1729]
#define __pyx_n_u_throw __pyx_string_tab[1730]
#define __pyx_n_u_tmp_path __pyx_string_tab[1731]
#define __pyx_n_u_to_base32 __pyx_string_tab[1732]
#define __pyx_n_u_to_py_function __pyx_string_tab[1733]
#define __pyx_n_u_tp __pyx_string_tab[1734]
#define __pyx_n_u_trace __pyx_string_tab[1735]
#define __pyx_n_u_trace_func __pyx_string_tab[1736]
#define __pyx_n_u_tuple __pyx_string_tab[1737]
#define __pyx_n_u_type __pyx_string_tab[1738]
#define __pyx_n_u_type_cname __pyx_string_tab[1739]
#define __pyx_n_u_type_declarations __pyx_string_tab[1740]
#define __pyx_n_u_type_name __pyx_string_tab[1741]
#define __pyx_n_u_typecast __pyx_string_tab[1742]
#define __pyx_n_u_typeinfo __pyx_string_tab[1743]
#define __pyx_n_u_typeptr_cname __pyx_string_tab[1744]
#define __pyx_n_u_typeptr_cname_in_module_state __pyx_string_tab[1745]
#define __pyx_n_u_u __pyx_string_tab[1746]
#define __pyx_n_u_umethod __pyx_string_tab[1747]
#define __pyx_n_u_unbound_check_code __pyx_string_tab[1748]
#define __pyx_n_u_uncachable_builtins __pyx_string_tab[1749]
#define __pyx_n_u_undef_builtin_expect __pyx_string_tab[1750]
#define __pyx_n_u_unicode __pyx_string_tab[1751]
#define __pyx_n_u_unique_const_cname __pyx_string_tab[1752]
#define __pyx_n_u_unknown_gil_state __pyx_string_tab[1753]
#define __pyx_n_u_unlikely __pyx_string_tab[1754]
#define __pyx_n_u_unlink __pyx_string_tab[1755]
#define __pyx_n_u_unraisable_tracebacks __pyx_string_tab[1756]
#define __pyx_n_u_unused __pyx_string_tab[1757]
#define __pyx_n_u_update __pyx_string_tab[1758]
#define __pyx_n_u_usascii __pyx_string_tab[1759]
#define __pyx_n_u_use_entry_utility_code __pyx_string_tab[1760]
#define __pyx_n_u_use_fast_gil_utility_code __pyx_string_tab[1761]
#define __pyx_n_u_use_label __pyx_string_tab[1762]
#define __pyx_n_u_use_utility_code __pyx_string_tab[1763]
#define __pyx_n_u_used __pyx_string_tab[1764]
#define __pyx_n_u_used_by __pyx_string_tab[1765]
#define __pyx_n_u_used_only __pyx_string_tab[1766]
#define __pyx_n_u_ustring __pyx_string_tab[1767]
#define __pyx_n_u_utf16_array __pyx_string_tab[1768]
#define __pyx_n_u_utf32_array __pyx_string_tab[1769]
#define __pyx_n_u_utf8 __pyx_string_tab[1770]
#define __pyx_n_u_utf8encode __pyx_string_tab[1771]
#define __pyx_n_u_util __pyx_string_tab[1772]
#define __pyx_n_u_util_code __pyx_string_tab[1773]
#define __pyx_n_u_util_code_name __pyx_string_tab[1774]
#define __pyx_n_u_utilities __pyx_string_tab[1775]
#define __pyx_n_u_utility __pyx_string_tab[1776]
#define __pyx_n_u_utility_cache __pyx_string_tab[1777]
#define __pyx_n_u_utility_code __pyx_string_tab[1778]
#define __pyx_n_u_utility_code_2 __pyx_string_tab[1779]
#define __pyx_n_u_utility_code_def __pyx_string_tab[1780]
#define __pyx_n_u_utility_code_definition __pyx_string_tab[1781]
#define __pyx_n_u_utility_code_name __pyx_string_tab[1782]
#define __pyx_n_u_utility_code_pragmas __pyx_string_tab[1783]
#define __pyx_n_u_utility_code_pragmas_end __pyx_string_tab[1784]
#define __pyx_n_u_utility_code_proto __pyx_string_tab[1785]
#define __pyx_n_u_utility_code_proto_before_types __pyx_string_tab[1786]
#define __pyx_n_u_utility_codes __pyx_string_tab[1787]
#define __pyx_n_u_validate_exit __pyx_string_tab[1788]
#define __pyx_n_u_validate_suitable_for_sharing __pyx_string_tab[1789]
#define __pyx_n_u_value __pyx_string_tab[1790]
#define __pyx_n_u_value_code __pyx_string_tab[1791]
#define __pyx_n_u_values __pyx_string_tab[1792]
#define __pyx_n_u_variable __pyx_string_tab[1793]
#define __pyx_n_u_varnames __pyx_string_tab[1794]
#define __pyx_n_u_vars __pyx_string_tab[1795]
#define __pyx_n_u_verbatim __pyx_string_tab[1796]
#define __pyx_n_u_visibility __pyx_string_tab[1797]
#define __pyx_n_u_visit_call __pyx_string_tab[1798]
#define __pyx_n_u_w __pyx_string_tab[1799]
#define __pyx_n_u_warning __pyx_string_tab[1800]
#define __pyx_n_u_wrap_c_string __pyx_string_tab[1801]
#define __pyx_n_u_wrap_c_string_locals_genexpr __pyx_string_tab[1802]
#define __pyx_n_u_wrapper_code_writer __pyx_string_tab[1803]
#define __pyx_n_u_wrapper_descriptor __pyx_string_tab[1804]
#define __pyx_n_u_wraps __pyx_string_tab[1805]
#define __pyx_n_u_write __pyx_string_tab[1806]
#define __pyx_n_u_write_to_buffer __pyx_string_tab[1807]
#define __pyx_n_u_write_trace_line __pyx_string_tab[1808]
#define __pyx_n_u_writer __pyx_string_tab[1809]
#define __pyx_n_u_xdecref_cleanup __pyx_string_tab[1810]
#define __pyx_n_u_xrange __pyx_string_tab[1811]
#define __pyx_n_u_xxx __pyx_string_tab[1812]
#define __pyx_n_u_yield __pyx_string_tab[1813]
#define __pyx_n_u_yield_labels __pyx_string_tab[1814]
#define __pyx_n_u_zip __pyx_string_tab[1815]
#define __pyx_n_u_zlib __pyx_string_tab[1816]
#define __pyx_n_u_zstd __pyx_string_tab[1817]
#define __pyx_n_u_zstd_CompressionParameter __pyx_string_tab[1818]
#define __pyx_n_u_zstd_Strategy __pyx_string_tab[1819]
#define __pyx_kp_b_0 __pyx_string_tab[1820]
#define __pyx_kp_b_000 __pyx_string_tab[1821]
#define __pyx_kp_b_0123456789abcdefghijklmnopqrstuv __pyx_string_tab[1822]
#define __pyx_kp_b_0_9_w __pyx_string_tab[1823]
#define __pyx_kp_b_PyObject_StringIO __pyx_string_tab[1824]
#define __pyx_kp_b__9 __pyx_string_tab[1825]
#define __pyx_kp_b_iso88591_0_F_a __pyx_string_tab[1826]
#define __pyx_kp_b_iso88591_1A __pyx_string_tab[1827]
#define __pyx_kp_b_iso88591_1_1_a_2_A __pyx_string_tab[1828]
#define __pyx_kp_b_iso88591_1_2 __pyx_string_tab[1829]
#define __pyx_kp_b_iso88591_1_9D_Q_V1G1_5Qa __pyx_string_tab[1830]
#define __pyx_kp_b_iso88591_1_F_2_4q_a __pyx_string_tab[1831]
#define __pyx_kp_b_iso88591_1_Q_6_5_Qaq_vQj_1B_PRRS __pyx_string_tab[1832]
#define __pyx_kp_b_iso88591_1_WA_D_aq_vWA_q_1_WA_q __pyx_string_tab[1833]
#define __pyx_kp_b_iso88591_1_d_A_Jj_4s_b_J_8_1_2_q_AQ_q __pyx_string_tab[1834]
#define __pyx_kp_b_iso88591_1_t_1A __pyx_string_tab[1835]
#define __pyx_kp_b_iso88591_1_t_q_1_Q_q_A_F_F_dRTTWWX __pyx_string_tab[1836]
#define __pyx_kp_b_iso88591_2XQiq_1_QfKvT_1_q __pyx_string_tab[1837]
#define __pyx_kp_b_iso88591_2_5_q_E_AYa_t1_q_Rr_q_RuA_E_1_4 __pyx_string_tab[1838]
#define __pyx_kp_b_iso88591_2_F_33EQ __pyx_string_tab[1839]
#define __pyx_kp_b_iso88591_2_F_Jl_t_T_LPVVaabbc_t_9_t_AQ_t __pyx_string_tab[1840]
#define __pyx_kp_b_iso88591_31_IQ_t_S_Q_5_q __pyx_string_tab[1841]
#define __pyx_kp_b_iso88591_31_J_a_F_1_Kq_L_1 __pyx_string_tab[1842]
#define __pyx_kp_b_iso88591_31_L_4A_Q_t __pyx_string_tab[1843]
#define __pyx_kp_b_iso88591_381_uG_E_T_gUV_8_F_XYY_A_I_q_E __pyx_string_tab[1844]
#define __pyx_kp_b_iso88591_4A_V1_a_V1A_9 __pyx_string_tab[1845]
#define __pyx_kp_b_iso88591_4q_8_aq_81E __pyx_string_tab[1846]
#define __pyx_kp_b_iso88591_4s_4_D_8_S_2Q_M_a __pyx_string_tab[1847]
#define __pyx_kp_b_iso88591_4z_T_A_4_d_t4q_Qj_TTU_1_q_IQa_D __pyx_string_tab[1848]
#define __pyx_kp_b_iso88591_55EQ_4_D_A_4q_t4t1_4q_7_t4t_d_f __pyx_string_tab[1849]
#define __pyx_kp_b_iso88591_5Q_0_6_1_1_a_G1_a_9 __pyx_string_tab[1850]
#define __pyx_kp_b_iso88591_5QfG1_H_0_q __pyx_string_tab[1851]
#define __pyx_kp_b_iso88591_5_5_5_2U_q_A __pyx_string_tab[1852]
#define __pyx_kp_b_iso88591_66H_F_5_Q_Jd_ay_wavXQfA_F __pyx_string_tab[1853]
#define __pyx_kp_b_iso88591_66PPQ_5_CuF_Q_7_uF_9_1_q_Q_T_TU __pyx_string_tab[1854]
#define __pyx_kp_b_iso88591_6_0DA_G9A __pyx_string_tab[1855]
#define __pyx_kp_b_iso88591_7_wc_Q_q_d_1_t6 __pyx_string_tab[1856]
#define __pyx_kp_b_iso88591_7q_9_5_Cz_U_S_Q_5_Cz_T_a_4uA_AQ __pyx_string_tab[1857]
#define __pyx_kp_b_iso88591_7q_t1_c_Q_a_xvQ_y_HIYk_1_q_r_a __pyx_string_tab[1858]
#define __pyx_kp_b_iso88591_83a_t9G1_a_87_avQ_G6_T_j __pyx_string_tab[1859]
#define __pyx_kp_b_iso88591_88LA_fAQ_q_Q_1_D_WIYaq_q_G1A_d __pyx_string_tab[1860]
#define __pyx_kp_b_iso88591_8_A_y_q_uG1_5_AQ __pyx_string_tab[1861]
#define __pyx_kp_b_iso88591_9A __pyx_string_tab[1862]
#define __pyx_kp_b_iso88591_9A_a_k_V8ST_4z_T_d_A_Q_1_2_at1 __pyx_string_tab[1863]
#define __pyx_kp_b_iso88591_9_4q_1_vRs_q_q_T_a __pyx_string_tab[1864]
#define __pyx_kp_b_iso88591_9_a_Q_1_q_O1_IQ_O1_A_q_Q_A_q_q __pyx_string_tab[1865]
#define __pyx_kp_b_iso88591_A __pyx_string_tab[1866]
#define __pyx_kp_b_iso88591_AHI_s_q_Q_4q_D_AT_AT_A_q_r_ay_q __pyx_string_tab[1867]
#define __pyx_kp_b_iso88591_AIJ_83a_t5_5_M_E_Yc_Qa_81E_AT_Jo __pyx_string_tab[1868]
#define __pyx_kp_b_iso88591_A_0_xq_a __pyx_string_tab[1869]
#define __pyx_kp_b_iso88591_A_1 __pyx_string_tab[1870]
#define __pyx_kp_b_iso88591_A_1A_Kq_vQ_q_q_q __pyx_string_tab[1871]
#define __pyx_kp_b_iso88591_A_1D __pyx_string_tab[1872]
#define __pyx_kp_b_iso88591_A_1Jc_6_wavQhVWWdde_e4_wa_e1_4q __pyx_string_tab[1873]
#define __pyx_kp_b_iso88591_A_1_A_Cs_vQb_1AYaxs_e4GZZaab_q_r __pyx_string_tab[1874]
#define __pyx_kp_b_iso88591_A_1_D_D_4DA_l_q __pyx_string_tab[1875]
#define __pyx_kp_b_iso88591_A_1_a_1 __pyx_string_tab[1876]
#define __pyx_kp_b_iso88591_A_2 __pyx_string_tab[1877]
#define __pyx_kp_b_iso88591_A_2S_1_3it7_a __pyx_string_tab[1878]
#define __pyx_kp_b_iso88591_A_2S_1_r_1 __pyx_string_tab[1879]
#define __pyx_kp_b_iso88591_A_3 __pyx_string_tab[1880]
#define __pyx_kp_b_iso88591_A_31_D_q_Cq_A_gQa_q_q __pyx_string_tab[1881]
#define __pyx_kp_b_iso88591_A_32S_Qk_Q6I_d_4A_q_2Q_q_Qa __pyx_string_tab[1882]
#define __pyx_kp_b_iso88591_A_3aq_e4q_e1_Cwe1_a_fAV2Qe_LAQ_t __pyx_string_tab[1883]
#define __pyx_kp_b_iso88591_A_4_1A_k_1IYoQ_AV1_HA_Ja_4s_7_1 __pyx_string_tab[1884]
#define __pyx_kp_b_iso88591_A_4_Q_JnA_M __pyx_string_tab[1885]
#define __pyx_kp_b_iso88591_A_4_aq_Qk_QkQR_Qk_QmST __pyx_string_tab[1886]
#define __pyx_kp_b_iso88591_A_4_d_Kt4_VWWX_q_Q_3ar_Qd_T_dR_f __pyx_string_tab[1887]
#define __pyx_kp_b_iso88591_A_4q_4_AT_4q __pyx_string_tab[1888]
#define __pyx_kp_b_iso88591_A_4q_M_q_Fc_VSZZ_ccdde_q_g_l_1 __pyx_string_tab[1889]
#define __pyx_kp_b_iso88591_A_4s_AQa_Q_q_A_QgQ __pyx_string_tab[1890]
#define __pyx_kp_b_iso88591_A_4s_j_awb __pyx_string_tab[1891]
#define __pyx_kp_b_iso88591_A_4t1_q_axxq_fAU_F_6avQ_fA __pyx_string_tab[1892]
#define __pyx_kp_b_iso88591_A_4t1_t6_t6_F_1_F_1_A_y_at_K6QR __pyx_string_tab[1893]
#define __pyx_kp_b_iso88591_A_4z_1_4_8_t_V_8 __pyx_string_tab[1894]
#define __pyx_kp_b_iso88591_A_5_1_Qa __pyx_string_tab[1895]
#define __pyx_kp_b_iso88591_A_5_1_gQfA_q_C_0_vWIQa_1_CuD_T_4 __pyx_string_tab[1896]
#define __pyx_kp_b_iso88591_A_5_5_4_AU __pyx_string_tab[1897]
#define __pyx_kp_b_iso88591_A_5_D_Q_t_5_aq_uA_5_1_31A_A_1A __pyx_string_tab[1898]
#define __pyx_kp_b_iso88591_A_5_t1_1HA_AQ_4_5_AQ_s_9_Q_F_at6 __pyx_string_tab[1899]
#define __pyx_kp_b_iso88591_A_6_A_5_q_5_q_wa_F_Qe1_wat9D_1Ba __pyx_string_tab[1900]
#define __pyx_kp_b_iso88591_A_6_D_D_3auG3c_q_5_c_a_1_1 __pyx_string_tab[1901]
#define __pyx_kp_b_iso88591_A_7_9A_t_1F __pyx_string_tab[1902]
#define __pyx_kp_b_iso88591_A_7_A_1 __pyx_string_tab[1903]
#define __pyx_kp_b_iso88591_A_7uA_TTU_L_F_9 __pyx_string_tab[1904]
#define __pyx_kp_b_iso88591_A_83a_Q_a_XQe4xq_T_q_3awb_D_1_r __pyx_string_tab[1905]
#define __pyx_kp_b_iso88591_A_AQ_M_q __pyx_string_tab[1906]
#define __pyx_kp_b_iso88591_A_AU_wm1 __pyx_string_tab[1907]
#define __pyx_kp_b_iso88591_A_AV __pyx_string_tab[1908]
#define __pyx_kp_b_iso88591_A_AV1 __pyx_string_tab[1909]
#define __pyx_kp_b_iso88591_A_AV7 __pyx_string_tab[1910]
#define __pyx_kp_b_iso88591_A_A_8_q __pyx_string_tab[1911]
#define __pyx_kp_b_iso88591_A_A_F_1 __pyx_string_tab[1912]
#define __pyx_kp_b_iso88591_A_A_Q_s_AQ_Q_Q_A_Q_F_3l_3_q_NRS __pyx_string_tab[1913]
#define __pyx_kp_b_iso88591_A_A_q __pyx_string_tab[1914]
#define __pyx_kp_b_iso88591_A_BfA_Rt81 __pyx_string_tab[1915]
#define __pyx_kp_b_iso88591_A_Bk_N_iq_q __pyx_string_tab[1916]
#define __pyx_kp_b_iso88591_A_C_d_1_1_1_6_5_4t87_a_WARxq0LFR __pyx_string_tab[1917]
#define __pyx_kp_b_iso88591_A_CuA_2Rr_Ba __pyx_string_tab[1918]
#define __pyx_kp_b_iso88591_A_D_1_Jf_6a_JfA_aq_a_B_1_aq __pyx_string_tab[1919]
#define __pyx_kp_b_iso88591_A_D_aq_61J_6QR_4t1_Qa_V1_q_V1A_a __pyx_string_tab[1920]
#define __pyx_kp_b_iso88591_A_D_aq_q_1Kq_Zq_V1A_q_D_aq_N_9A __pyx_string_tab[1921]
#define __pyx_kp_b_iso88591_A_D_aq_q_A_a_Q_1_6a_q __pyx_string_tab[1922]
#define __pyx_kp_b_iso88591_A_E_q_A_at7_1 __pyx_string_tab[1923]
#define __pyx_kp_b_iso88591_A_F_1 __pyx_string_tab[1924]
#define __pyx_kp_b_iso88591_A_F_1_A __pyx_string_tab[1925]
#define __pyx_kp_b_iso88591_A_F_1_F_1F_F_1 __pyx_string_tab[1926]
#define __pyx_kp_b_iso88591_A_F_1_F_1_F_1 __pyx_string_tab[1927]
#define __pyx_kp_b_iso88591_A_F_1_F_QfA_F_1 __pyx_string_tab[1928]
#define __pyx_kp_b_iso88591_A_F_1_G1 __pyx_string_tab[1929]
#define __pyx_kp_b_iso88591_A_F_1_nAQ __pyx_string_tab[1930]
#define __pyx_kp_b_iso88591_A_F_4_QgQd_8SXXYY_dde __pyx_string_tab[1931]
#define __pyx_kp_b_iso88591_A_F_5_F_1 __pyx_string_tab[1932]
#define __pyx_kp_b_iso88591_A_F_6 __pyx_string_tab[1933]
#define __pyx_kp_b_iso88591_A_F_9Ba_F_1_F_1_F_1_F_1_F_1 __pyx_string_tab[1934]
#define __pyx_kp_b_iso88591_A_F_9Ba_F_1_F_1_F_1_F_1_F_1_2 __pyx_string_tab[1935]
#define __pyx_kp_b_iso88591_A_F_D_0_a_1HD __pyx_string_tab[1936]
#define __pyx_kp_b_iso88591_A_F_F __pyx_string_tab[1937]
#define __pyx_kp_b_iso88591_A_G6 __pyx_string_tab[1938]
#define __pyx_kp_b_iso88591_A_G6_IT __pyx_string_tab[1939]
#define __pyx_kp_b_iso88591_A_G7_1 __pyx_string_tab[1940]
#define __pyx_kp_b_iso88591_A_HAWG9A_Bg_q __pyx_string_tab[1941]
#define __pyx_kp_b_iso88591_A_IQ __pyx_string_tab[1942]
#define __pyx_kp_b_iso88591_A_IQ_aq __pyx_string_tab[1943]
#define __pyx_kp_b_iso88591_A_IQ_q_N_O1 __pyx_string_tab[1944]
#define __pyx_kp_b_iso88591_A_Ja __pyx_string_tab[1945]
#define __pyx_kp_b_iso88591_A_Ja_2 __pyx_string_tab[1946]
#define __pyx_kp_b_iso88591_A_Ja_U_d_6_6H_1A_uE_Q_Qc_T_AQ_F __pyx_string_tab[1947]
#define __pyx_kp_b_iso88591_A_Ja_fD_G5_E_u_Qhk __pyx_string_tab[1948]
#define __pyx_kp_b_iso88591_A_Ja_q __pyx_string_tab[1949]
#define __pyx_kp_b_iso88591_A_Jj_F_b __pyx_string_tab[1950]
#define __pyx_kp_b_iso88591_A_Kq_F_WDTTXXhhi_q __pyx_string_tab[1951]
#define __pyx_kp_b_iso88591_A_Kq_XU __pyx_string_tab[1952]
#define __pyx_kp_b_iso88591_A_Kq_XU_1 __pyx_string_tab[1953]
#define __pyx_kp_b_iso88591_A_L __pyx_string_tab[1954]
#define __pyx_kp_b_iso88591_A_L_AQ __pyx_string_tab[1955]
#define __pyx_kp_b_iso88591_A_L_he1 __pyx_string_tab[1956]
#define __pyx_kp_b_iso88591_A_L_he9A __pyx_string_tab[1957]
#define __pyx_kp_b_iso88591_A_M_avV1 __pyx_string_tab[1958]
#define __pyx_kp_b_iso88591_A_M_xuA __pyx_string_tab[1959]
#define __pyx_kp_b_iso88591_A_O1E_g __pyx_string_tab[1960]
#define __pyx_kp_b_iso88591_A_Q_7_1_wawc_a_q __pyx_string_tab[1961]
#define __pyx_kp_b_iso88591_A_Q_F_84s_A_4s_fAQ_s_A_Ja_Cr_T_S __pyx_string_tab[1962]
#define __pyx_kp_b_iso88591_A_Q_Q __pyx_string_tab[1963]
#define __pyx_kp_b_iso88591_A_Q_Q_Q_Q __pyx_string_tab[1964]
#define __pyx_kp_b_iso88591_A_Qa_A_L_KvS_1 __pyx_string_tab[1965]
#define __pyx_kp_b_iso88591_A_Qe85_7K5P __pyx_string_tab[1966]
#define __pyx_kp_b_iso88591_A_QfA __pyx_string_tab[1967]
#define __pyx_kp_b_iso88591_A_QfG6 __pyx_string_tab[1968]
#define __pyx_kp_b_iso88591_A_Qha_E_r_xq __pyx_string_tab[1969]
#define __pyx_kp_b_iso88591_A_RRS_e7_7_Q_t1M_uK_2_7_1_wawc_a __pyx_string_tab[1970]
#define __pyx_kp_b_iso88591_A_T_AQ_F_a_8_1GSTTU __pyx_string_tab[1971]
#define __pyx_kp_b_iso88591_A_T_AQ_F_axq_N_7RSST __pyx_string_tab[1972]
#define __pyx_kp_b_iso88591_A_T_Cxy_Q_F_8_Q_r_1_q_A_D_aq_av __pyx_string_tab[1973]
#define __pyx_kp_b_iso88591_A_T_HD_axz_9 __pyx_string_tab[1974]
#define __pyx_kp_b_iso88591_A_T_Q_Kxs_q_IZq_q_j_O1A_q __pyx_string_tab[1975]
#define __pyx_kp_b_iso88591_A_U_5_5_s_Q_1_S_V_A_F_bbc_Kr_a_5 __pyx_string_tab[1976]
#define __pyx_kp_b_iso88591_A_WIQ_Qha_V7_4q_q __pyx_string_tab[1977]
#define __pyx_kp_b_iso88591_A_YYffg_gQfA_4q_iq_11FavXUV_a_r __pyx_string_tab[1978]
#define __pyx_kp_b_iso88591_A_aq_7_A8_Qe1_q __pyx_string_tab[1979]
#define __pyx_kp_b_iso88591_A_auHE_8LEQ_a __pyx_string_tab[1980]
#define __pyx_kp_b_iso88591_A_avQ __pyx_string_tab[1981]
#define __pyx_kp_b_iso88591_A_axt_1 __pyx_string_tab[1982]
#define __pyx_kp_b_iso88591_A_c_a_r_1A_q __pyx_string_tab[1983]
#define __pyx_kp_b_iso88591_A_d_a_t3avRq_7_gQhj_2QfAQ_2U_q_Q __pyx_string_tab[1984]
#define __pyx_kp_b_iso88591_A_fAQ_fAQ_fA_1_fA_aq_fAQ_fAQ_fAQ __pyx_string_tab[1985]
#define __pyx_kp_b_iso88591_A_gQfA_4_A_gQ_2_1 __pyx_string_tab[1986]
#define __pyx_kp_b_iso88591_A_m4_q_4_b_a_9Cq_q_2V_5_81A_a_6b __pyx_string_tab[1987]
#define __pyx_kp_b_iso88591_A_o_1F_1EQ_G9A __pyx_string_tab[1988]
#define __pyx_kp_b_iso88591_A_q __pyx_string_tab[1989]
#define __pyx_kp_b_iso88591_A_q_2 __pyx_string_tab[1990]
#define __pyx_kp_b_iso88591_A_q_3 __pyx_string_tab[1991]
#define __pyx_kp_b_iso88591_A_q_4 __pyx_string_tab[1992]
#define __pyx_kp_b_iso88591_A_q_F_Jd_t_d_F_y_5_5_xq_G2V6_D_A __pyx_string_tab[1993]
#define __pyx_kp_b_iso88591_A_q_L_a __pyx_string_tab[1994]
#define __pyx_kp_b_iso88591_A_q_XU __pyx_string_tab[1995]
#define __pyx_kp_b_iso88591_A_q_t6_Q_A_D_a_F_1_t6_a_Q_F_4_1D __pyx_string_tab[1996]
#define __pyx_kp_b_iso88591_A_r_2_1 __pyx_string_tab[1997]
#define __pyx_kp_b_iso88591_A_r_31A __pyx_string_tab[1998]
#define __pyx_kp_b_iso88591_A_r_G6_Zt1_1 __pyx_string_tab[1999]
#define __pyx_kp_b_iso88591_A_r_U_G1_1_9A __pyx_string_tab[2000]
#define __pyx_kp_b_iso88591_A_r_q_F_d_q_d_a __pyx_string_tab[2001]
#define __pyx_kp_b_iso88591_A_t __pyx_string_tab[2002]
#define __pyx_kp_b_iso88591_A_t1 __pyx_string_tab[2003]
#define __pyx_kp_b_iso88591_A_t1E_g_5T_XT __pyx_string_tab[2004]
#define __pyx_kp_b_iso88591_A_t1_2 __pyx_string_tab[2005]
#define __pyx_kp_b_iso88591_A_t1_aq_axt_K1_q __pyx_string_tab[2006]
#define __pyx_kp_b_iso88591_A_t1_d_fCq_d_9D_JgQd_xq_AYa_q __pyx_string_tab[2007]
#define __pyx_kp_b_iso88591_A_t1_gQ_A_a_9CvT_e7_4vQ_4waq_t __pyx_string_tab[2008]
#define __pyx_kp_b_iso88591_A_t3d __pyx_string_tab[2009]
#define __pyx_kp_b_iso88591_A_t6 __pyx_string_tab[2010]
#define __pyx_kp_b_iso88591_A_t6_0_t_aq __pyx_string_tab[2011]
#define __pyx_kp_b_iso88591_A_t7 __pyx_string_tab[2012]
#define __pyx_kp_b_iso88591_A_t7_1 __pyx_string_tab[2013]
#define __pyx_kp_b_iso88591_A_t7_aq __pyx_string_tab[2014]
#define __pyx_kp_b_iso88591_A_t9AWD_1A __pyx_string_tab[2015]
#define __pyx_kp_b_iso88591_A_t_0_a __pyx_string_tab[2016]
#define __pyx_kp_b_iso88591_A_t_1_O1_O_q __pyx_string_tab[2017]
#define __pyx_kp_b_iso88591_A_t_6a __pyx_string_tab[2018]
#define __pyx_kp_b_iso88591_A_t_7q __pyx_string_tab[2019]
#define __pyx_kp_b_iso88591_A_t_9Naq __pyx_string_tab[2020]
#define __pyx_kp_b_iso88591_A_t_9TTUUZZ __pyx_string_tab[2021]
#define __pyx_kp_b_iso88591_A_t_A_1 __pyx_string_tab[2022]
#define __pyx_kp_b_iso88591_A_t_N_iq __pyx_string_tab[2023]
#define __pyx_kp_b_iso88591_A_t_Rwa __pyx_string_tab[2024]
#define __pyx_kp_b_iso88591_A_t_c_TUUV __pyx_string_tab[2025]
#define __pyx_kp_b_iso88591_A_t_q __pyx_string_tab[2026]
#define __pyx_kp_b_iso88591_A_t_q_2 __pyx_string_tab[2027]
#define __pyx_kp_b_iso88591_A_t_q_k __pyx_string_tab[2028]
#define __pyx_kp_b_iso88591_A_t_t1 __pyx_string_tab[2029]
#define __pyx_kp_b_iso88591_A_uA_D_d_uL_5_Q_E_5 __pyx_string_tab[2030]
#define __pyx_kp_b_iso88591_A_v_T_G7_6 __pyx_string_tab[2031]
#define __pyx_kp_b_iso88591_A_wa __pyx_string_tab[2032]
#define __pyx_kp_b_iso88591_A_wb_1_Qa_a_QQRRS_q_4q_1_1_a_ha __pyx_string_tab[2033]
#define __pyx_kp_b_iso88591_CCXXY_F_aq_at_q_av_q_AS_as_1_at __pyx_string_tab[2034]
#define __pyx_kp_b_iso88591_DA_Q_1 __pyx_string_tab[2035]
#define __pyx_kp_b_iso88591_DA_gQ_9_q_V___q_IQ_vS_vS_d_b_AW __pyx_string_tab[2036]
#define __pyx_kp_b_iso88591_F_0_1G1DPQQWWX __pyx_string_tab[2037]
#define __pyx_kp_b_iso88591_GzQ __pyx_string_tab[2038]
#define __pyx_kp_b_iso88591_Ja_0_AT_Q_M_q __pyx_string_tab[2039]
#define __pyx_kp_b_iso88591_K_t1_q_q_r_q_q_A_7_1_a_7_5_E_8 __pyx_string_tab[2040]
#define __pyx_kp_b_iso88591_Kq_IT_AU_a_Ja_1_was_T_WBc_A_G1 __pyx_string_tab[2041]
#define __pyx_kp_b_iso88591_O1_AV7_y __pyx_string_tab[2042]
#define __pyx_kp_b_iso88591_O3DA_iq_1_AYha __pyx_string_tab[2043]
#define __pyx_kp_b_iso88591_Q_4q_Rr_s_q_5_q_T_1_q __pyx_string_tab[2044]
#define __pyx_kp_b_iso88591_Q_4q_k_k_q_QfA_1_Zq_q __pyx_string_tab[2045]
#define __pyx_kp_b_iso88591_Q_M_A_d_1 __pyx_string_tab[2046]
#define __pyx_kp_b_iso88591_Q_QfG6 __pyx_string_tab[2047]
#define __pyx_kp_b_iso88591_Q_S_Qaq_D_Q_V1C_Zq __pyx_string_tab[2048]
#define __pyx_kp_b_iso88591_Q_T_A_1G2Q_1G2Q_q __pyx_string_tab[2049]
#define __pyx_kp_b_iso88591_Q_d_O4z_1_q __pyx_string_tab[2050]
#define __pyx_kp_b_iso88591_Q_t7_N_at1_7_4wa_Q_L_5T_q __pyx_string_tab[2051]
#define __pyx_kp_b_iso88591_Q_t_M __pyx_string_tab[2052]
#define __pyx_kp_b_iso88591_RRS_y_c_1_1_V1A_fAWA_2_3C1Dgghh __pyx_string_tab[2053]
#define __pyx_kp_b_iso88591_ZZ_K_5Q_5_1_T_a_1_T_m4t5_SWW_bb __pyx_string_tab[2054]
#define __pyx_kp_b_iso88591_Zwd_Jaq __pyx_string_tab[2055]
#define __pyx_kp_b_iso88591__82 __pyx_string_tab[2056]
#define __pyx_kp_b_iso88591__83 __pyx_string_tab[2057]
#define __pyx_kp_b_iso88591_a_1_7q_J_a_F_9_1 __pyx_string_tab[2058]
#define __pyx_kp_b_iso88591_a_IQ_IQ_Kq_N_S __pyx_string_tab[2059]
#define __pyx_kp_b_iso88591_a_L_aq_V1_q_aq_F_1_F_9AQ_1_Q __pyx_string_tab[2060]
#define __pyx_kp_b_iso88591_aq_1_a_q __pyx_string_tab[2061]
#define __pyx_kp_b_iso88591_ddzz_4AQ_iq_A_Naq_1_AXV1Kxq_RRV __pyx_string_tab[2062]
#define __pyx_kp_b_iso88591_gXWA_1_a_9Cxq __pyx_string_tab[2063]
#define __pyx_kp_b_iso88591_gXWA_q_waxq_2Qf_q __pyx_string_tab[2064]
#define __pyx_kp_b_iso88591_hfARxq_Q_2U __pyx_string_tab[2065]
#define __pyx_kp_b_iso88591_k_5_b_6_d_QfBa_1_V_Qa_V1_z __pyx_string_tab[2066]
#define __pyx_kp_b_iso88591_k_Kq_83a_a_gU_1G9F_6_6_Ry_6_fE __pyx_string_tab[2067]
#define __pyx_kp_b_iso88591_l2ddeef_1_B_1 __pyx_string_tab[2068]
#define __pyx_kp_b_iso88591_oQ_4_a_ES_1_A_L_1_8_a_4q_q_q_D __pyx_string_tab[2069]
#define __pyx_kp_b_iso88591_q_4wc_Bk_N_a_q __pyx_string_tab[2070]
#define __pyx_kp_b_iso88591_q_83a_t9G1_a_87_Kq_q_QgT_G6 __pyx_string_tab[2071]
#define __pyx_kp_b_iso88591_q_J_8_1_2_q_AQ_q __pyx_string_tab[2072]
#define __pyx_kp_b_iso88591_q_a_1_Q_q_Q_F_3a_F_a_1_a_Rq_F_1 __pyx_string_tab[2073]
#define __pyx_kp_b_iso88591_q_a_4q_q_F_32Q __pyx_string_tab[2074]
#define __pyx_kp_b_iso88591_q_a_F_1_1_a_Rq_1_Q_q_Q_F_3a __pyx_string_tab[2075]
#define __pyx_kp_b_iso88591_r_e1O4q_q_q __pyx_string_tab[2076]
#define __pyx_kp_b_iso88591_vQ __pyx_string_tab[2077]
#define __pyx_kp_b_iso88591_wd_Jaq __pyx_string_tab[2078]
#define __pyx_kp_b_iso88591_wd_Kq __pyx_string_tab[2079]
#define __pyx_kp_b_iso88591_wd_LA __pyx_string_tab[2080]
#define __pyx_kp_b_iso88591_wd_LAQ __pyx_string_tab[2081]
#define __pyx_kp_b_iso88591_wd_LBa __pyx_string_tab[2082]
#define __pyx_kp_b_iso88591_wd_O1 __pyx_string_tab[2083]
#define __pyx_kp_b_iso88591_wd_O1A __pyx_string_tab[2084]
#define __pyx_kp_b_iso88591_xwa_r_1CvS_G4q_6_Q_3avRs_C1Cq_Q __pyx_string_tab[2085]
#define __pyx_kp_b_iso88591_y_G9A_1A_y_gQi_1IQ_y_WAYl_9A __pyx_string_tab[2086]
#define __pyx_int_0 __pyx_number_tab[0]
#define __pyx_int_neg_1 __pyx_number_tab[1]
#define __pyx_int_1 __pyx_number_tab[2]
#define __pyx_int_2 __pyx_number_tab[3]
#define __pyx_int_3 __pyx_number_tab[4]
#define __pyx_int_5 __pyx_number_tab[5]
#define __pyx_int_8 __pyx_number_tab[6]
#define __pyx_int_9 __pyx_number_tab[7]
#define __pyx_int_14 __pyx_number_tab[8]
#define __pyx_int_neg_18 __pyx_number_tab[9]
#define __pyx_int_18 __pyx_number_tab[10]
#define __pyx_int_31 __pyx_number_tab[11]
#define __pyx_int_32 __pyx_number_tab[12]
#define __pyx_int_63 __pyx_number_tab[13]
#define __pyx_int_32768 __pyx_number_tab[14]
/* #### Code section: module_state_clear ### */
#if CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) {
  __pyx_mstatetype *clear_module_state = __Pyx_PyModule_GetState(m);
  if (!clear_module_state) return 0;
  Py_CLEAR(clear_module_state->__pyx_d);
  Py_CLEAR(clear_module_state->__pyx_b);
  Py_CLEAR(clear_module_state->__pyx_cython_runtime);
  Py_CLEAR(clear_module_state->__pyx_empty_tuple);
  Py_CLEAR(clear_module_state->__pyx_empty_bytes);
  Py_CLEAR(clear_module_state->__pyx_empty_unicode);
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __Pyx_State_RemoveModule(NULL);
  #endif
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_12StringIOTree_StringIOTree);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_UtilityCode);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_FunctionState);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_PyObjectConst);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_StringConst);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_StringConst);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_PyStringConst);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_CCodeWriter);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_defaults);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor);
  Py_CLEAR(clear_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter);
  Py_CLEAR(clear_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter);
  Py_CLEAR(clear_module_state->__pyx_k__12);
  Py_CLEAR(clear_module_state->__pyx_k__13);
  Py_CLEAR(clear_module_state->__pyx_k__37);
  Py_CLEAR(clear_module_state->__pyx_k__70);
  Py_CLEAR(clear_module_state->__pyx_k__77);
  for (int i=0; i<6; ++i) { Py_CLEAR(clear_module_state->__pyx_slice[i]); }
  for (int i=0; i<57; ++i) { Py_CLEAR(clear_module_state->__pyx_tuple[i]); }
  for (int i=0; i<282; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<2087; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); }
  for (int i=0; i<15; ++i) { Py_CLEAR(clear_module_state->__pyx_number_tab[i]); }
/* #### Code section: module_state_clear_contents ### */
/* CommonTypesMetaclass.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_CommonTypesMetaclassType);

/* CythonFunctionShared.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_CyFunctionType);

/* Generator.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_GeneratorType);

/* #### Code section: module_state_clear_end ### */
return 0;
}
#endif
/* #### Code section: module_state_traverse ### */
#if CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
  __pyx_mstatetype *traverse_module_state = __Pyx_PyModule_GetState(m);
  if (!traverse_module_state) return 0;
  Py_VISIT(traverse_module_state->__pyx_d);
  Py_VISIT(traverse_module_state->__pyx_b);
  Py_VISIT(traverse_module_state->__pyx_cython_runtime);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_tuple);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_bytes);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_unicode);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_12StringIOTree_StringIOTree);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_UtilityCode);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_FunctionState);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_PyObjectConst);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_StringConst);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_StringConst);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_PyStringConst);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_CCodeWriter);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_defaults);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor);
  Py_VISIT(traverse_module_state->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter);
  Py_VISIT(traverse_module_state->__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter);
  Py_VISIT(traverse_module_state->__pyx_k__12);
  Py_VISIT(traverse_module_state->__pyx_k__13);
  Py_VISIT(traverse_module_state->__pyx_k__37);
  Py_VISIT(traverse_module_state->__pyx_k__70);
  Py_VISIT(traverse_module_state->__pyx_k__77);
  for (int i=0; i<6; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_slice[i]); }
  for (int i=0; i<57; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_tuple[i]); }
  for (int i=0; i<282; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<2087; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); }
  for (int i=0; i<15; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_number_tab[i]); }
/* #### Code section: module_state_traverse_contents ### */
/* CommonTypesMetaclass.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_CommonTypesMetaclassType);

/* CythonFunctionShared.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_CyFunctionType);

/* Generator.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_GeneratorType);

/* #### Code section: module_state_traverse_end ### */
return 0;
}
#endif
/* #### Code section: module_code ### */

/* "Cython/Compiler/Code.py":321
 *     counter = 1   # Counter for "order"
 * 
 *     def __init__(self, include=None, verbatim=None, late=True, initial=False):             # <<<<<<<<<<<<<<
 *         self.order = self.counter
 *         type(self).counter += 1
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_include = 0;
  PyObject *__pyx_v_verbatim = 0;
  PyObject *__pyx_v_late = 0;
  PyObject *__pyx_v_initial = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_include,&__pyx_mstate_global->__pyx_n_u_verbatim,&__pyx_mstate_global->__pyx_n_u_late,&__pyx_mstate_global->__pyx_n_u_initial,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 321, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 321, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False)));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, i); __PYX_ERR(0, 321, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 321, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 321, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False)));
    }
    __pyx_v_self = values[0];
    __pyx_v_include = values[1];
    __pyx_v_verbatim = values[2];
    __pyx_v_late = values[3];
    __pyx_v_initial = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, __pyx_nargs); __PYX_ERR(0, 321, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11IncludeCode___init__(__pyx_self, __pyx_v_self, __pyx_v_include, __pyx_v_verbatim, __pyx_v_late, __pyx_v_initial);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_include, PyObject *__pyx_v_verbatim, PyObject *__pyx_v_late, PyObject *__pyx_v_initial) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_INCREF(__pyx_v_late);

  /* "Cython/Compiler/Code.py":322
 * 
 *     def __init__(self, include=None, verbatim=None, late=True, initial=False):
 *         self.order = self.counter             # <<<<<<<<<<<<<<
 *         type(self).counter += 1
 *         self.pieces = {}
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_counter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_order, __pyx_t_1) < (0)) __PYX_ERR(0, 322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":323
 *     def __init__(self, include=None, verbatim=None, late=True, initial=False):
 *         self.order = self.counter
 *         type(self).counter += 1             # <<<<<<<<<<<<<<
 *         self.pieces = {}
 * 
*/
  __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_self)));
  __pyx_t_1 = ((PyObject *)Py_TYPE(__pyx_v_self));
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_t_1), __pyx_mstate_global->__pyx_n_u_counter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_AddObjC(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_t_1), __pyx_mstate_global->__pyx_n_u_counter, __pyx_t_3) < (0)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":324
 *         self.order = self.counter
 *         type(self).counter += 1
 *         self.pieces = {}             # <<<<<<<<<<<<<<
 * 
 *         if include:
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces, __pyx_t_1) < (0)) __PYX_ERR(0, 324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":326
 *         self.pieces = {}
 * 
 *         if include:             # <<<<<<<<<<<<<<
 *             if include[0] == '<' and include[-1] == '>':
 *                 self.pieces[0] = '#include {}'.format(include)
*/
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_include); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 326, __pyx_L1_error)
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":327
 * 
 *         if include:
 *             if include[0] == '<' and include[-1] == '>':             # <<<<<<<<<<<<<<
 *                 self.pieces[0] = '#include {}'.format(include)
 *                 late = False  # system include is never late
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_include, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 327, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_5) {
    } else {
      __pyx_t_4 = __pyx_t_5;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_include, -1L, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__2, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 327, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __pyx_t_5;
    __pyx_L5_bool_binop_done:;
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":328
 *         if include:
 *             if include[0] == '<' and include[-1] == '>':
 *                 self.pieces[0] = '#include {}'.format(include)             # <<<<<<<<<<<<<<
 *                 late = False  # system include is never late
 *             else:
*/
      __pyx_t_3 = __pyx_mstate_global->__pyx_kp_u_include_2;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_include};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 328, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((__Pyx_SetItemInt(__pyx_t_3, 0, __pyx_t_1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 328, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":329
 *             if include[0] == '<' and include[-1] == '>':
 *                 self.pieces[0] = '#include {}'.format(include)
 *                 late = False  # system include is never late             # <<<<<<<<<<<<<<
 *             else:
 *                 self.pieces[0] = '#include "{}"'.format(include)
*/
      __Pyx_INCREF(Py_False);
      __Pyx_DECREF_SET(__pyx_v_late, Py_False);

      /* "Cython/Compiler/Code.py":327
 * 
 *         if include:
 *             if include[0] == '<' and include[-1] == '>':             # <<<<<<<<<<<<<<
 *                 self.pieces[0] = '#include {}'.format(include)
 *                 late = False  # system include is never late
*/
      goto __pyx_L4;
    }

    /* "Cython/Compiler/Code.py":331
 *                 late = False  # system include is never late
 *             else:
 *                 self.pieces[0] = '#include "{}"'.format(include)             # <<<<<<<<<<<<<<
 * 
 *         if verbatim:
*/
    /*else*/ {
      __pyx_t_3 = __pyx_mstate_global->__pyx_kp_u_include_3;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_include};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((__Pyx_SetItemInt(__pyx_t_3, 0, __pyx_t_1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 331, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L4:;

    /* "Cython/Compiler/Code.py":326
 *         self.pieces = {}
 * 
 *         if include:             # <<<<<<<<<<<<<<
 *             if include[0] == '<' and include[-1] == '>':
 *                 self.pieces[0] = '#include {}'.format(include)
*/
  }

  /* "Cython/Compiler/Code.py":333
 *                 self.pieces[0] = '#include "{}"'.format(include)
 * 
 *         if verbatim:             # <<<<<<<<<<<<<<
 *             self.pieces[self.order] = verbatim
 * 
*/
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_verbatim); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 333, __pyx_L1_error)
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":334
 * 
 *         if verbatim:
 *             self.pieces[self.order] = verbatim             # <<<<<<<<<<<<<<
 * 
 *         if initial:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_order); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_t_3, __pyx_v_verbatim) < 0))) __PYX_ERR(0, 334, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":333
 *                 self.pieces[0] = '#include "{}"'.format(include)
 * 
 *         if verbatim:             # <<<<<<<<<<<<<<
 *             self.pieces[self.order] = verbatim
 * 
*/
  }

  /* "Cython/Compiler/Code.py":336
 *             self.pieces[self.order] = verbatim
 * 
 *         if initial:             # <<<<<<<<<<<<<<
 *             self.location = self.INITIAL
 *         elif late:
*/
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 336, __pyx_L1_error)
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":337
 * 
 *         if initial:
 *             self.location = self.INITIAL             # <<<<<<<<<<<<<<
 *         elif late:
 *             self.location = self.LATE
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_INITIAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_location, __pyx_t_3) < (0)) __PYX_ERR(0, 337, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":336
 *             self.pieces[self.order] = verbatim
 * 
 *         if initial:             # <<<<<<<<<<<<<<
 *             self.location = self.INITIAL
 *         elif late:
*/
    goto __pyx_L8;
  }

  /* "Cython/Compiler/Code.py":338
 *         if initial:
 *             self.location = self.INITIAL
 *         elif late:             # <<<<<<<<<<<<<<
 *             self.location = self.LATE
 *         else:
*/
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_late); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 338, __pyx_L1_error)
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":339
 *             self.location = self.INITIAL
 *         elif late:
 *             self.location = self.LATE             # <<<<<<<<<<<<<<
 *         else:
 *             self.location = self.EARLY
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_LATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_location, __pyx_t_3) < (0)) __PYX_ERR(0, 339, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":338
 *         if initial:
 *             self.location = self.INITIAL
 *         elif late:             # <<<<<<<<<<<<<<
 *             self.location = self.LATE
 *         else:
*/
    goto __pyx_L8;
  }

  /* "Cython/Compiler/Code.py":341
 *             self.location = self.LATE
 *         else:
 *             self.location = self.EARLY             # <<<<<<<<<<<<<<
 * 
 *     def dict_update(self, d, key):
*/
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_EARLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_location, __pyx_t_3) < (0)) __PYX_ERR(0, 341, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L8:;

  /* "Cython/Compiler/Code.py":321
 *     counter = 1   # Counter for "order"
 * 
 *     def __init__(self, include=None, verbatim=None, late=True, initial=False):             # <<<<<<<<<<<<<<
 *         self.order = self.counter
 *         type(self).counter += 1
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_late);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":343
 *             self.location = self.EARLY
 * 
 *     def dict_update(self, d, key):             # <<<<<<<<<<<<<<
 *         """
 *         Insert `self` in dict `d` with key `key`. If that key already
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_3dict_update(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11IncludeCode_2dict_update, "\n        Insert `self` in dict `d` with key `key`. If that key already\n        exists, update the attributes of the existing value with `self`.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_3dict_update = {"dict_update", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_3dict_update, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11IncludeCode_2dict_update};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_3dict_update(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_d = 0;
  PyObject *__pyx_v_key = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("dict_update (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_d,&__pyx_mstate_global->__pyx_n_u_key,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 343, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 343, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 343, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 343, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "dict_update", 0) < (0)) __PYX_ERR(0, 343, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("dict_update", 1, 3, 3, i); __PYX_ERR(0, 343, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 343, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 343, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 343, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_d = values[1];
    __pyx_v_key = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("dict_update", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 343, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.dict_update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_2dict_update(__pyx_self, __pyx_v_self, __pyx_v_d, __pyx_v_key);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_2dict_update(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_d, PyObject *__pyx_v_key) {
  PyObject *__pyx_v_other = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("dict_update", 0);

  /* "Cython/Compiler/Code.py":348
 *         exists, update the attributes of the existing value with `self`.
 *         """
 *         if key in d:             # <<<<<<<<<<<<<<
 *             other = d[key]
 *             other.location = min(self.location, other.location)
*/
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_v_d, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 348, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":349
 *         """
 *         if key in d:
 *             other = d[key]             # <<<<<<<<<<<<<<
 *             other.location = min(self.location, other.location)
 *             other.pieces.update(self.pieces)
*/
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_d, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_other = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":350
 *         if key in d:
 *             other = d[key]
 *             other.location = min(self.location, other.location)             # <<<<<<<<<<<<<<
 *             other.pieces.update(self.pieces)
 *         else:
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_location); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_location); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 350, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 350, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_1) {
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_4 = __pyx_t_2;
    } else {
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = __pyx_t_3;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_location, __pyx_t_2) < (0)) __PYX_ERR(0, 350, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":351
 *             other = d[key]
 *             other.location = min(self.location, other.location)
 *             other.pieces.update(self.pieces)             # <<<<<<<<<<<<<<
 *         else:
 *             d[key] = self
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __pyx_t_3;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_update, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":348
 *         exists, update the attributes of the existing value with `self`.
 *         """
 *         if key in d:             # <<<<<<<<<<<<<<
 *             other = d[key]
 *             other.location = min(self.location, other.location)
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":353
 *             other.pieces.update(self.pieces)
 *         else:
 *             d[key] = self             # <<<<<<<<<<<<<<
 * 
 *     def sortkey(self):
*/
  /*else*/ {
    if (unlikely((PyObject_SetItem(__pyx_v_d, __pyx_v_key, __pyx_v_self) < 0))) __PYX_ERR(0, 353, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":343
 *             self.location = self.EARLY
 * 
 *     def dict_update(self, d, key):             # <<<<<<<<<<<<<<
 *         """
 *         Insert `self` in dict `d` with key `key`. If that key already
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.dict_update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_other);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":355
 *             d[key] = self
 * 
 *     def sortkey(self):             # <<<<<<<<<<<<<<
 *         return self.order
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_5sortkey(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_5sortkey = {"sortkey", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_5sortkey, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_5sortkey(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sortkey (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_4sortkey(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_4sortkey(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sortkey", 0);

  /* "Cython/Compiler/Code.py":356
 * 
 *     def sortkey(self):
 *         return self.order             # <<<<<<<<<<<<<<
 * 
 *     def mainpiece(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_order); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":355
 *             d[key] = self
 * 
 *     def sortkey(self):             # <<<<<<<<<<<<<<
 *         return self.order
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.sortkey", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":358
 *         return self.order
 * 
 *     def mainpiece(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the main piece of C code, corresponding to the include
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_7mainpiece(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11IncludeCode_6mainpiece, "\n        Return the main piece of C code, corresponding to the include\n        file. If there was no include file, return None.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_7mainpiece = {"mainpiece", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_7mainpiece, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11IncludeCode_6mainpiece};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_7mainpiece(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("mainpiece (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_6mainpiece(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_6mainpiece(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("mainpiece", 0);

  /* "Cython/Compiler/Code.py":363
 *         file. If there was no include file, return None.
 *         """
 *         return self.pieces.get(0)             # <<<<<<<<<<<<<<
 * 
 *     def write(self, code):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":358
 *         return self.order
 * 
 *     def mainpiece(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the main piece of C code, corresponding to the include
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.mainpiece", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":365
 *         return self.pieces.get(0)
 * 
 *     def write(self, code):             # <<<<<<<<<<<<<<
 *         # Write values of self.pieces dict, sorted by the keys
 *         for k in sorted(self.pieces):
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_9write(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_9write = {"write", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_9write, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11IncludeCode_9write(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_code,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 365, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "write", 0) < (0)) __PYX_ERR(0, 365, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, i); __PYX_ERR(0, 365, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 365, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 365, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_code = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 365, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_8write(__pyx_self, __pyx_v_self, __pyx_v_code);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11IncludeCode_8write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code) {
  PyObject *__pyx_v_k = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("write", 0);

  /* "Cython/Compiler/Code.py":367
 *     def write(self, code):
 *         # Write values of self.pieces dict, sorted by the keys
 *         for k in sorted(self.pieces):             # <<<<<<<<<<<<<<
 *             code.putln(self.pieces[k])
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely((PyList_Sort(__pyx_t_2) < 0))) __PYX_ERR(0, 367, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 367, __pyx_L1_error)
      #endif
      if (__pyx_t_3 >= __pyx_temp) break;
    }
    __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_3;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":368
 *         # Write values of self.pieces dict, sorted by the keys
 *         for k in sorted(self.pieces):
 *             code.putln(self.pieces[k])             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_t_4 = __pyx_v_code;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pieces); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_k); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":367
 *     def write(self, code):
 *         # Write values of self.pieces dict, sorted by the keys
 *         for k in sorted(self.pieces):             # <<<<<<<<<<<<<<
 *             code.putln(self.pieces[k])
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":365
 *         return self.pieces.get(0)
 * 
 *     def write(self, code):             # <<<<<<<<<<<<<<
 *         # Write values of self.pieces dict, sorted by the keys
 *         for k in sorted(self.pieces):
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.IncludeCode.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_k);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":371
 * 
 * 
 * def get_utility_dir():             # <<<<<<<<<<<<<<
 *     # make this a function and not global variables:
 *     # http://trac.cython.org/cython_trac/ticket/475
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_1get_utility_dir(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_1get_utility_dir = {"get_utility_dir", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_1get_utility_dir, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_1get_utility_dir(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_utility_dir (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_get_utility_dir(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_get_utility_dir(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_v_Cython_dir = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_utility_dir", 0);

  /* "Cython/Compiler/Code.py":374
 *     # make this a function and not global variables:
 *     # http://trac.cython.org/cython_trac/ticket/475
 *     Cython_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))             # <<<<<<<<<<<<<<
 *     return os.path.join(Cython_dir, "Utility")
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __pyx_t_6;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_8 = __pyx_t_9;
  __Pyx_INCREF(__pyx_t_8);
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_file); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
    __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_abspath, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_dirname, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_dirname, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_Cython_dir = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":375
 *     # http://trac.cython.org/cython_trac/ticket/475
 *     Cython_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 *     return os.path.join(Cython_dir, "Utility")             # <<<<<<<<<<<<<<
 * 
 * read_utilities_hook = None
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __pyx_t_4;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_Cython_dir, __pyx_mstate_global->__pyx_n_u_Utility};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_join, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":371
 * 
 * 
 * def get_utility_dir():             # <<<<<<<<<<<<<<
 *     # make this a function and not global variables:
 *     # http://trac.cython.org/cython_trac/ticket/475
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("Cython.Compiler.Code.get_utility_dir", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_Cython_dir);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":388
 * """
 * 
 * def read_utilities_from_utility_dir(path):             # <<<<<<<<<<<<<<
 *     """
 *     Read all lines of the file at the provided path from a path relative
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_3read_utilities_from_utility_dir(PyObject *__pyx_self, PyObject *__pyx_v_path); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_2read_utilities_from_utility_dir, "\n    Read all lines of the file at the provided path from a path relative\n    to get_utility_dir().\n    ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_3read_utilities_from_utility_dir = {"read_utilities_from_utility_dir", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_3read_utilities_from_utility_dir, METH_O, __pyx_doc_6Cython_8Compiler_4Code_2read_utilities_from_utility_dir};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_3read_utilities_from_utility_dir(PyObject *__pyx_self, PyObject *__pyx_v_path) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read_utilities_from_utility_dir (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_2read_utilities_from_utility_dir(__pyx_self, ((PyObject *)__pyx_v_path));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_2read_utilities_from_utility_dir(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_v_filename = NULL;
  PyObject *__pyx_v_f = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("read_utilities_from_utility_dir", 0);

  /* "Cython/Compiler/Code.py":393
 *     to get_utility_dir().
 *     """
 *     filename = os.path.join(get_utility_dir(), path)             # <<<<<<<<<<<<<<
 *     with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:
 *         return f.readlines()
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_get_utility_dir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_v_path};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_join, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_filename = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":394
 *     """
 *     filename = os.path.join(get_utility_dir(), path)
 *     with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:             # <<<<<<<<<<<<<<
 *         return f.readlines()
 * 
*/
  /*with:*/ {
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_closing);
    __pyx_t_4 = __pyx_v_6Cython_8Compiler_4Code_closing; 
    __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_Utils;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_filename};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 394, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_encoding, __pyx_mstate_global->__pyx_kp_u_UTF_8, __pyx_t_5, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 394, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_open_source_file, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 394, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_11);
        /*try:*/ {
          __pyx_v_f = __pyx_t_3;
          __pyx_t_3 = 0;

          /* "Cython/Compiler/Code.py":395
 *     filename = os.path.join(get_utility_dir(), path)
 *     with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:
 *         return f.readlines()             # <<<<<<<<<<<<<<
 * 
 * # by default, read utilities from the utility directory.
*/
          __Pyx_XDECREF(__pyx_r);
          __pyx_t_1 = __pyx_v_f;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_7 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
            __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_readlines, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 395, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_3);
          }
          __pyx_r = __pyx_t_3;
          __pyx_t_3 = 0;
          goto __pyx_L11_try_return;

          /* "Cython/Compiler/Code.py":394
 *     """
 *     filename = os.path.join(get_utility_dir(), path)
 *     with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:             # <<<<<<<<<<<<<<
 *         return f.readlines()
 * 
*/
        }
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("Cython.Compiler.Code.read_utilities_from_utility_dir", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 394, __pyx_L9_except_error)
          __Pyx_XGOTREF(__pyx_t_3);
          __Pyx_XGOTREF(__pyx_t_1);
          __Pyx_XGOTREF(__pyx_t_4);
          __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 394, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (__pyx_t_13 < (0)) __PYX_ERR(0, 394, __pyx_L9_except_error)
          __pyx_t_14 = (!__pyx_t_13);
          if (unlikely(__pyx_t_14)) {
            __Pyx_GIVEREF(__pyx_t_3);
            __Pyx_GIVEREF(__pyx_t_1);
            __Pyx_XGIVEREF(__pyx_t_4);
            __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_4);
            __pyx_t_3 = 0;  __pyx_t_1 = 0;  __pyx_t_4 = 0; 
            __PYX_ERR(0, 394, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
        goto __pyx_L1_error;
        __pyx_L11_try_return:;
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
        goto __pyx_L4_return;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_8) {
          __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[0], NULL);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 394, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L4_return: {
        __pyx_t_11 = __pyx_r;
        __pyx_r = 0;
        if (__pyx_t_8) {
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[0], NULL);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 394, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        __pyx_r = __pyx_t_11;
        __pyx_t_11 = 0;
        goto __pyx_L0;
      }
      __pyx_L6:;
    }
    goto __pyx_L16;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    goto __pyx_L1_error;
    __pyx_L16:;
  }

  /* "Cython/Compiler/Code.py":388
 * """
 * 
 * def read_utilities_from_utility_dir(path):             # <<<<<<<<<<<<<<
 *     """
 *     Read all lines of the file at the provided path from a path relative
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.read_utilities_from_utility_dir", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_filename);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":405
 *     requires = None
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_1put_code(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_19AbstractUtilityCode_1put_code = {"put_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_1put_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_1put_code(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_globalstate = 0;
  CYTHON_UNUSED PyObject *__pyx_v_used_by = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_globalstate,&__pyx_mstate_global->__pyx_n_u_used_by,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 405, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 405, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 405, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_code", 0) < (0)) __PYX_ERR(0, 405, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_code", 0, 1, 2, i); __PYX_ERR(0, 405, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 405, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 405, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_globalstate = values[0];
    __pyx_v_used_by = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_code", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 405, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.AbstractUtilityCode.put_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_put_code(((struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *)__pyx_v_self), __pyx_v_globalstate, __pyx_v_used_by);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_put_code(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_globalstate, CYTHON_UNUSED PyObject *__pyx_v_used_by) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_code", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":408
 *         pass
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_3get_tree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_19AbstractUtilityCode_3get_tree = {"get_tree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_3get_tree, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_3get_tree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_tree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("get_tree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("get_tree", __pyx_kwds) == -1)) return NULL;
  }
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_2get_tree(((struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_2get_tree(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_tree", 0);

  /* "Cython/Compiler/Code.py":409
 * 
 *     def get_tree(self, **kwargs):
 *         return None             # <<<<<<<<<<<<<<
 * 
 *     def get_shared_library_scope(self, **kwargs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":408
 *         pass
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":411
 *         return None
 * 
 *     def get_shared_library_scope(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_5get_shared_library_scope(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_19AbstractUtilityCode_5get_shared_library_scope = {"get_shared_library_scope", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_5get_shared_library_scope, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_5get_shared_library_scope(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_shared_library_scope (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("get_shared_library_scope", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("get_shared_library_scope", __pyx_kwds) == -1)) return NULL;
  }
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_4get_shared_library_scope(((struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19AbstractUtilityCode_4get_shared_library_scope(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_shared_library_scope", 0);

  /* "Cython/Compiler/Code.py":412
 * 
 *     def get_shared_library_scope(self, **kwargs):
 *         return None             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":411
 *         return None
 * 
 *     def get_shared_library_scope(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":460
 *     ).match
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def get_special_comment_matcher(line_comment_char):
 *         return re.compile((
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_1get_special_comment_matcher(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_1get_special_comment_matcher = {"get_special_comment_matcher", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_1get_special_comment_matcher, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_1get_special_comment_matcher(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_line_comment_char = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_special_comment_matcher (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_line_comment_char,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 460, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_special_comment_matcher", 0) < (0)) __PYX_ERR(0, 460, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_special_comment_matcher", 1, 1, 1, i); __PYX_ERR(0, 460, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 460, __pyx_L3_error)
    }
    __pyx_v_line_comment_char = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_special_comment_matcher", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 460, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.get_special_comment_matcher", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_get_special_comment_matcher(__pyx_v_line_comment_char);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_get_special_comment_matcher(PyObject *__pyx_v_line_comment_char) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_special_comment_matcher", 0);

  /* "Cython/Compiler/Code.py":462
 *     @staticmethod
 *     def get_special_comment_matcher(line_comment_char):
 *         return re.compile((             # <<<<<<<<<<<<<<
 *             # section title
 *             r'^%(C)s{5,30}  \s*  (?P<name> (?:\w|\.)+ )  \s*  %(C)s{5,30} |'
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":467
 *             # section tags and dependencies
 *             r'^%(C)s+  @(?P<tag> .+)'
 *         ) % {'C': re.escape(line_comment_char)}, re.VERBOSE).match             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
*/
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_line_comment_char};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_escape, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_C, __pyx_t_4) < (0)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_C_s_5_30_s_P_name_w_s_C_s_5_30, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_mstate_global->__pyx_n_u_VERBOSE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_match); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":460
 *     ).match
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def get_special_comment_matcher(line_comment_char):
 *         return re.compile((
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.get_special_comment_matcher", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":469
 *         ) % {'C': re.escape(line_comment_char)}, re.VERBOSE).match
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):
 *         if utility is None:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_3_add_utility(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_3_add_utility = {"_add_utility", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_3_add_utility, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_3_add_utility(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_utility = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_lines = 0;
  PyObject *__pyx_v_begin_lineno = 0;
  PyObject *__pyx_v_tags = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_add_utility (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_utility,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_lines,&__pyx_mstate_global->__pyx_n_u_begin_lineno,&__pyx_mstate_global->__pyx_n_u_tags,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 469, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 469, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 469, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 469, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 469, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 469, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 469, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_add_utility", 0) < (0)) __PYX_ERR(0, 469, __pyx_L3_error)

      /* "Cython/Compiler/Code.py":470
 * 
 *     @classmethod
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):             # <<<<<<<<<<<<<<
 *         if utility is None:
 *             return
*/
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_add_utility", 0, 5, 6, i); __PYX_ERR(0, 469, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 469, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 469, __pyx_L3_error)
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 469, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 469, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 469, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 469, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_utility = values[0];
    __pyx_v_name = values[1];
    __pyx_v_type = values[2];
    __pyx_v_lines = values[3];
    __pyx_v_begin_lineno = values[4];
    __pyx_v_tags = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_add_utility", 0, 5, 6, __pyx_nargs); __PYX_ERR(0, 469, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase._add_utility", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_2_add_utility(((PyTypeObject*)__pyx_v_cls), __pyx_v_utility, __pyx_v_name, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags);

  /* "Cython/Compiler/Code.py":469
 *         ) % {'C': re.escape(line_comment_char)}, re.VERBOSE).match
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):
 *         if utility is None:
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_2_add_utility(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_utility, PyObject *__pyx_v_name, PyObject *__pyx_v_type, PyObject *__pyx_v_lines, PyObject *__pyx_v_begin_lineno, PyObject *__pyx_v_tags) {
  PyObject *__pyx_v_code = NULL;
  PyObject *__pyx_v_new_code = NULL;
  PyObject *__pyx_v_e = NULL;
  PyObject *__pyx_v_all_tags = NULL;
  PyObject *__pyx_v_tag_name = NULL;
  PyObject *__pyx_v_tag_values = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17[8];
  PyObject *__pyx_t_18 = NULL;
  int __pyx_t_19;
  char const *__pyx_t_20;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22 = NULL;
  PyObject *__pyx_t_23 = NULL;
  PyObject *__pyx_t_24 = NULL;
  PyObject *__pyx_t_25 = NULL;
  PyObject *__pyx_t_26 = NULL;
  PyObject *__pyx_t_27[7];
  Py_ssize_t __pyx_t_28;
  Py_ssize_t __pyx_t_29;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_add_utility", 0);

  /* "Cython/Compiler/Code.py":471
 *     @classmethod
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):
 *         if utility is None:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  __pyx_t_1 = (__pyx_v_utility == Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":472
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):
 *         if utility is None:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         code = '\n'.join(lines)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":471
 *     @classmethod
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):
 *         if utility is None:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  }

  /* "Cython/Compiler/Code.py":474
 *             return
 * 
 *         code = '\n'.join(lines)             # <<<<<<<<<<<<<<
 *         if tags and 'substitute' in tags and 'naming' in tags['substitute']:
 *             try:
*/
  __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__3, __pyx_v_lines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_code = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":475
 * 
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and 'naming' in tags['substitute']:             # <<<<<<<<<<<<<<
 *             try:
 *                 new_code = Template(code).substitute(vars(Naming))
*/
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_tags); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 475, __pyx_L1_error)
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_substitute, __pyx_v_tags, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 475, __pyx_L1_error)
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_tags, __pyx_mstate_global->__pyx_n_u_substitute); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_naming, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":476
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and 'naming' in tags['substitute']:
 *             try:             # <<<<<<<<<<<<<<
 *                 new_code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "Cython/Compiler/Code.py":477
 *         if tags and 'substitute' in tags and 'naming' in tags['substitute']:
 *             try:
 *                 new_code = Template(code).substitute(vars(Naming))             # <<<<<<<<<<<<<<
 *             except (KeyError, ValueError) as e:
 *                 raise RuntimeError(
*/
        __pyx_t_9 = NULL;
        __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_Template);
        __pyx_t_10 = __pyx_v_6Cython_8Compiler_4Code_Template; 
        __pyx_t_11 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_10))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
          assert(__pyx_t_9);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
          __pyx_t_11 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_code};
          __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 477, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_8);
        }
        __pyx_t_7 = __pyx_t_8;
        __Pyx_INCREF(__pyx_t_7);
        __pyx_t_9 = NULL;
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_6Cython_8Compiler_4Code_Naming};
          __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_vars, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 477, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_10);
        }
        __pyx_t_11 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_10};
          __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_substitute, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 477, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_v_new_code = __pyx_t_2;
        __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":476
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and 'naming' in tags['substitute']:
 *             try:             # <<<<<<<<<<<<<<
 *                 new_code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
*/
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L13_try_end;
      __pyx_L8_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "Cython/Compiler/Code.py":478
 *             try:
 *                 new_code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError(
 *                     f"Error parsing templated utility code '{name}.{type}' at line {begin_lineno:d}: {e}")
*/
      __pyx_t_12 = __Pyx_PyErr_ExceptionMatches2(((PyObject *)(((PyTypeObject*)PyExc_KeyError))), ((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_12) {
        __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase._add_utility", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_10) < 0) __PYX_ERR(0, 478, __pyx_L10_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_8);
        __pyx_v_e = __pyx_t_8;
        /*try:*/ {

          /* "Cython/Compiler/Code.py":479
 *                 new_code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
 *                 raise RuntimeError(             # <<<<<<<<<<<<<<
 *                     f"Error parsing templated utility code '{name}.{type}' at line {begin_lineno:d}: {e}")
 *             if new_code == code:
*/
          __pyx_t_9 = NULL;

          /* "Cython/Compiler/Code.py":480
 *             except (KeyError, ValueError) as e:
 *                 raise RuntimeError(
 *                     f"Error parsing templated utility code '{name}.{type}' at line {begin_lineno:d}: {e}")             # <<<<<<<<<<<<<<
 *             if new_code == code:
 *                 raise RuntimeError(
*/
          __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 480, __pyx_L19_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_type, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 480, __pyx_L19_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_15 = __Pyx_PyObject_Format(__pyx_v_begin_lineno, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 480, __pyx_L19_error)
          __Pyx_GOTREF(__pyx_t_15);
          __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_v_e, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 480, __pyx_L19_error)
          __Pyx_GOTREF(__pyx_t_16);
          __pyx_t_17[0] = __pyx_mstate_global->__pyx_kp_u_Error_parsing_templated_utility;
          __pyx_t_17[1] = __pyx_t_13;
          __pyx_t_17[2] = __pyx_mstate_global->__pyx_kp_u__4;
          __pyx_t_17[3] = __pyx_t_14;
          __pyx_t_17[4] = __pyx_mstate_global->__pyx_kp_u_at_line;
          __pyx_t_17[5] = __pyx_t_15;
          __pyx_t_17[6] = __pyx_mstate_global->__pyx_kp_u__5;
          __pyx_t_17[7] = __pyx_t_16;
          __pyx_t_18 = __Pyx_PyUnicode_Join(__pyx_t_17, 8, 38 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14) + 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16));
          if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 480, __pyx_L19_error)
          __Pyx_GOTREF(__pyx_t_18);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
          __pyx_t_11 = 1;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_18};
            __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 479, __pyx_L19_error)
            __Pyx_GOTREF(__pyx_t_7);
          }
          __Pyx_Raise(__pyx_t_7, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __PYX_ERR(0, 479, __pyx_L19_error)
        }

        /* "Cython/Compiler/Code.py":478
 *             try:
 *                 new_code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError(
 *                     f"Error parsing templated utility code '{name}.{type}' at line {begin_lineno:d}: {e}")
*/
        /*finally:*/ {
          __pyx_L19_error:;
          /*exception exit:*/{
            __Pyx_PyThreadState_declare
            __Pyx_PyThreadState_assign
            __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
            __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
            __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
             __Pyx_ExceptionSwap(&__pyx_t_24, &__pyx_t_25, &__pyx_t_26);
            if ( unlikely(__Pyx_GetException(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23) < 0)) __Pyx_ErrFetch(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23);
            __Pyx_XGOTREF(__pyx_t_21);
            __Pyx_XGOTREF(__pyx_t_22);
            __Pyx_XGOTREF(__pyx_t_23);
            __Pyx_XGOTREF(__pyx_t_24);
            __Pyx_XGOTREF(__pyx_t_25);
            __Pyx_XGOTREF(__pyx_t_26);
            __pyx_t_12 = __pyx_lineno; __pyx_t_19 = __pyx_clineno; __pyx_t_20 = __pyx_filename;
            {
              __Pyx_DECREF(__pyx_v_e); __pyx_v_e = 0;
            }
            __Pyx_XGIVEREF(__pyx_t_24);
            __Pyx_XGIVEREF(__pyx_t_25);
            __Pyx_XGIVEREF(__pyx_t_26);
            __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_25, __pyx_t_26);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_XGIVEREF(__pyx_t_22);
            __Pyx_XGIVEREF(__pyx_t_23);
            __Pyx_ErrRestore(__pyx_t_21, __pyx_t_22, __pyx_t_23);
            __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0;
            __pyx_lineno = __pyx_t_12; __pyx_clineno = __pyx_t_19; __pyx_filename = __pyx_t_20;
            goto __pyx_L10_except_error;
          }
        }
      }
      goto __pyx_L10_except_error;

      /* "Cython/Compiler/Code.py":476
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and 'naming' in tags['substitute']:
 *             try:             # <<<<<<<<<<<<<<
 *                 new_code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
*/
      __pyx_L10_except_error:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L1_error;
      __pyx_L13_try_end:;
    }

    /* "Cython/Compiler/Code.py":481
 *                 raise RuntimeError(
 *                     f"Error parsing templated utility code '{name}.{type}' at line {begin_lineno:d}: {e}")
 *             if new_code == code:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError(
 *                     f"Found useless 'substitute: naming' declaration without replacements. ({name}.{type}:{begin_lineno:d})")
*/
    __pyx_t_10 = PyObject_RichCompare(__pyx_v_new_code, __pyx_v_code, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 481, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 481, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(__pyx_t_1)) {

      /* "Cython/Compiler/Code.py":482
 *                     f"Error parsing templated utility code '{name}.{type}' at line {begin_lineno:d}: {e}")
 *             if new_code == code:
 *                 raise RuntimeError(             # <<<<<<<<<<<<<<
 *                     f"Found useless 'substitute: naming' declaration without replacements. ({name}.{type}:{begin_lineno:d})")
 *             code = new_code
*/
      __pyx_t_8 = NULL;

      /* "Cython/Compiler/Code.py":483
 *             if new_code == code:
 *                 raise RuntimeError(
 *                     f"Found useless 'substitute: naming' declaration without replacements. ({name}.{type}:{begin_lineno:d})")             # <<<<<<<<<<<<<<
 *             code = new_code
 * 
*/
      __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_type, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_18 = __Pyx_PyObject_Format(__pyx_v_begin_lineno, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_18);
      __pyx_t_27[0] = __pyx_mstate_global->__pyx_kp_u_Found_useless_substitute_naming;
      __pyx_t_27[1] = __pyx_t_2;
      __pyx_t_27[2] = __pyx_mstate_global->__pyx_kp_u__4;
      __pyx_t_27[3] = __pyx_t_7;
      __pyx_t_27[4] = __pyx_mstate_global->__pyx_kp_u__6;
      __pyx_t_27[5] = __pyx_t_18;
      __pyx_t_27[6] = __pyx_mstate_global->__pyx_kp_u__7;
      __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_27, 7, 70 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 1 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_18), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_18));
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      __pyx_t_11 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
        __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 482, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
      }
      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __PYX_ERR(0, 482, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":481
 *                 raise RuntimeError(
 *                     f"Error parsing templated utility code '{name}.{type}' at line {begin_lineno:d}: {e}")
 *             if new_code == code:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError(
 *                     f"Found useless 'substitute: naming' declaration without replacements. ({name}.{type}:{begin_lineno:d})")
*/
    }

    /* "Cython/Compiler/Code.py":484
 *                 raise RuntimeError(
 *                     f"Found useless 'substitute: naming' declaration without replacements. ({name}.{type}:{begin_lineno:d})")
 *             code = new_code             # <<<<<<<<<<<<<<
 * 
 *         # remember correct line numbers at least until after templating
*/
    __Pyx_INCREF(__pyx_v_new_code);
    __Pyx_DECREF_SET(__pyx_v_code, __pyx_v_new_code);

    /* "Cython/Compiler/Code.py":475
 * 
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and 'naming' in tags['substitute']:             # <<<<<<<<<<<<<<
 *             try:
 *                 new_code = Template(code).substitute(vars(Naming))
*/
  }

  /* "Cython/Compiler/Code.py":487
 * 
 *         # remember correct line numbers at least until after templating
 *         code = '\n' * begin_lineno + code             # <<<<<<<<<<<<<<
 * 
 *         if type == 'proto':
*/
  __pyx_t_10 = PyNumber_Multiply(__pyx_mstate_global->__pyx_kp_u__3, __pyx_v_begin_lineno); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = PyNumber_Add(__pyx_t_10, __pyx_v_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_9);
  __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":489
 *         code = '\n' * begin_lineno + code
 * 
 *         if type == 'proto':             # <<<<<<<<<<<<<<
 *             utility[0] = code
 *         elif type == 'impl':
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_proto, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 489, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":490
 * 
 *         if type == 'proto':
 *             utility[0] = code             # <<<<<<<<<<<<<<
 *         elif type == 'impl':
 *             utility[1] = code
*/
    if (unlikely((__Pyx_SetItemInt(__pyx_v_utility, 0, __pyx_v_code, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument) < 0))) __PYX_ERR(0, 490, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":489
 *         code = '\n' * begin_lineno + code
 * 
 *         if type == 'proto':             # <<<<<<<<<<<<<<
 *             utility[0] = code
 *         elif type == 'impl':
*/
    goto __pyx_L26;
  }

  /* "Cython/Compiler/Code.py":491
 *         if type == 'proto':
 *             utility[0] = code
 *         elif type == 'impl':             # <<<<<<<<<<<<<<
 *             utility[1] = code
 *         else:
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_impl, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 491, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":492
 *             utility[0] = code
 *         elif type == 'impl':
 *             utility[1] = code             # <<<<<<<<<<<<<<
 *         else:
 *             all_tags = utility[2]
*/
    if (unlikely((__Pyx_SetItemInt(__pyx_v_utility, 1, __pyx_v_code, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument) < 0))) __PYX_ERR(0, 492, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":491
 *         if type == 'proto':
 *             utility[0] = code
 *         elif type == 'impl':             # <<<<<<<<<<<<<<
 *             utility[1] = code
 *         else:
*/
    goto __pyx_L26;
  }

  /* "Cython/Compiler/Code.py":494
 *             utility[1] = code
 *         else:
 *             all_tags = utility[2]             # <<<<<<<<<<<<<<
 *             all_tags[type] = code
 * 
*/
  /*else*/ {
    __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_utility, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_v_all_tags = __pyx_t_9;
    __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":495
 *         else:
 *             all_tags = utility[2]
 *             all_tags[type] = code             # <<<<<<<<<<<<<<
 * 
 *         if tags:
*/
    if (unlikely((PyObject_SetItem(__pyx_v_all_tags, __pyx_v_type, __pyx_v_code) < 0))) __PYX_ERR(0, 495, __pyx_L1_error)
  }
  __pyx_L26:;

  /* "Cython/Compiler/Code.py":497
 *             all_tags[type] = code
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             all_tags = utility[2]
 *             for tag_name, tag_values in tags.items():
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_tags); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 497, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":498
 * 
 *         if tags:
 *             all_tags = utility[2]             # <<<<<<<<<<<<<<
 *             for tag_name, tag_values in tags.items():
 *                 all_tags.setdefault(tag_name, set()).update(tag_values)
*/
    __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_utility, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_XDECREF_SET(__pyx_v_all_tags, __pyx_t_9);
    __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":499
 *         if tags:
 *             all_tags = utility[2]
 *             for tag_name, tag_values in tags.items():             # <<<<<<<<<<<<<<
 *                 all_tags.setdefault(tag_name, set()).update(tag_values)
 * 
*/
    __pyx_t_28 = 0;
    if (unlikely(__pyx_v_tags == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(0, 499, __pyx_L1_error)
    }
    __pyx_t_10 = __Pyx_dict_iterator(__pyx_v_tags, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_29), (&__pyx_t_19)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9);
    __pyx_t_9 = __pyx_t_10;
    __pyx_t_10 = 0;
    while (1) {
      __pyx_t_12 = __Pyx_dict_iter_next(__pyx_t_9, __pyx_t_29, &__pyx_t_28, &__pyx_t_10, &__pyx_t_8, NULL, __pyx_t_19);
      if (unlikely(__pyx_t_12 == 0)) break;
      if (unlikely(__pyx_t_12 == -1)) __PYX_ERR(0, 499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_v_tag_name, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_v_tag_values, __pyx_t_8);
      __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":500
 *             all_tags = utility[2]
 *             for tag_name, tag_values in tags.items():
 *                 all_tags.setdefault(tag_name, set()).update(tag_values)             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
*/
      __pyx_t_7 = __pyx_v_all_tags;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_2 = PySet_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_tag_name, __pyx_t_2};
        __pyx_t_18 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_setdefault, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 500, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_18);
      }
      __pyx_t_10 = __pyx_t_18;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_tag_values};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_update, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 500, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":497
 *             all_tags[type] = code
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             all_tags = utility[2]
 *             for tag_name, tag_values in tags.items():
*/
  }

  /* "Cython/Compiler/Code.py":469
 *         ) % {'C': re.escape(line_comment_char)}, re.VERBOSE).match
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):
 *         if utility is None:
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase._add_utility", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_code);
  __Pyx_XDECREF(__pyx_v_new_code);
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_XDECREF(__pyx_v_all_tags);
  __Pyx_XDECREF(__pyx_v_tag_name);
  __Pyx_XDECREF(__pyx_v_tag_values);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":502
 *                 all_tags.setdefault(tag_name, set()).update(tag_values)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_5load_utilities_from_file(PyObject *__pyx_v_cls, PyObject *__pyx_v_path); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_5load_utilities_from_file = {"load_utilities_from_file", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_5load_utilities_from_file, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_5load_utilities_from_file(PyObject *__pyx_v_cls, PyObject *__pyx_v_path) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_utilities_from_file (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_4load_utilities_from_file(((PyTypeObject*)__pyx_v_cls), ((PyObject *)__pyx_v_path));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":523
 *         all_lines = read_utilities_hook(path)
 * 
 *         utilities = defaultdict(lambda: [None, None, {}])             # <<<<<<<<<<<<<<
 *         lines = []
 *         tags = defaultdict(set)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_24load_utilities_from_file_lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_24load_utilities_from_file_lambda = {"lambda", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_24load_utilities_from_file_lambda, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_24load_utilities_from_file_lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_lambda_funcdef_lambda(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_lambda(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lambda", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, Py_None) != (0)) __PYX_ERR(0, 523, __pyx_L1_error);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 523, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_t_1) != (0)) __PYX_ERR(0, 523, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_utilities_from_file.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":502
 *                 all_tags.setdefault(tag_name, set()).update(tag_values)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_4load_utilities_from_file(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_path) {
  PyObject *__pyx_v_utilities = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  PyObject *__pyx_v_ext = NULL;
  PyObject *__pyx_v_comment = NULL;
  PyObject *__pyx_v_strip_comments = NULL;
  PyObject *__pyx_v_rstrip = NULL;
  PyObject *__pyx_v_match_special = NULL;
  PyObject *__pyx_v_match_type = NULL;
  PyObject *__pyx_v_all_lines = NULL;
  PyObject *__pyx_v_lines = NULL;
  PyObject *__pyx_v_tags = NULL;
  PyObject *__pyx_v_utility = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_type = NULL;
  PyObject *__pyx_v_begin_lineno = NULL;
  PyObject *__pyx_v_lineno = NULL;
  PyObject *__pyx_v_line = NULL;
  PyObject *__pyx_v_m = NULL;
  PyObject *__pyx_v_mtype = NULL;
  PyObject *__pyx_v_tag_value = NULL;
  PyObject *__pyx_v_tag_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *(*__pyx_t_7)(PyObject *);
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  PyObject *__pyx_t_16[6];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("load_utilities_from_file", 0);

  /* "Cython/Compiler/Code.py":504
 *     @classmethod
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)             # <<<<<<<<<<<<<<
 *         if utilities:
 *             return utilities
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_mstate_global->__pyx_n_u_utility_cache); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_path};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_utilities = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":505
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:             # <<<<<<<<<<<<<<
 *             return utilities
 * 
*/
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_utilities); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 505, __pyx_L1_error)
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":506
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:
 *             return utilities             # <<<<<<<<<<<<<<
 * 
 *         _, ext = os.path.splitext(path)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_utilities);
    __pyx_r = __pyx_v_utilities;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":505
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:             # <<<<<<<<<<<<<<
 *             return utilities
 * 
*/
  }

  /* "Cython/Compiler/Code.py":508
 *             return utilities
 * 
 *         _, ext = os.path.splitext(path)             # <<<<<<<<<<<<<<
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 *             comment = '#'
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __pyx_t_2;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_path};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_splitext, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 508, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_3);
    } else {
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 508, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_3);
    }
    #else
    __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6);
    index = 0; __pyx_t_2 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_2)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 508, __pyx_L1_error)
    __pyx_t_7 = NULL;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 508, __pyx_L1_error)
    __pyx_L5_unpacking_done:;
  }
  __pyx_v__ = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_ext = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":509
 * 
 *         _, ext = os.path.splitext(path)
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):             # <<<<<<<<<<<<<<
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#(?!\s*cython\s*:).*').sub, '')
*/
  __Pyx_INCREF(__pyx_v_ext);
  __pyx_t_1 = __pyx_v_ext;
  __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_pyx, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 509, __pyx_L1_error)
  if (!__pyx_t_8) {
  } else {
    __pyx_t_5 = __pyx_t_8;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_py, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 509, __pyx_L1_error)
  if (!__pyx_t_8) {
  } else {
    __pyx_t_5 = __pyx_t_8;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_pxd, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 509, __pyx_L1_error)
  if (!__pyx_t_8) {
  } else {
    __pyx_t_5 = __pyx_t_8;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_pxi, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 509, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_8;
  __pyx_L7_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_8 = __pyx_t_5;
  if (__pyx_t_8) {

    /* "Cython/Compiler/Code.py":510
 *         _, ext = os.path.splitext(path)
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 *             comment = '#'             # <<<<<<<<<<<<<<
 *             strip_comments = partial(re.compile(r'^\s*#(?!\s*cython\s*:).*').sub, '')
 *             rstrip = str.rstrip
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__8);
    __pyx_v_comment = __pyx_mstate_global->__pyx_kp_u__8;

    /* "Cython/Compiler/Code.py":511
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#(?!\s*cython\s*:).*').sub, '')             # <<<<<<<<<<<<<<
 *             rstrip = str.rstrip
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_partial);
    __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_partial; 
    __pyx_t_9 = __pyx_v_6Cython_8Compiler_4Code_re;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_s_s_cython_s};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 511, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_sub); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_9, __pyx_mstate_global->__pyx_kp_u__9};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 511, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_strip_comments = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":512
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#(?!\s*cython\s*:).*').sub, '')
 *             rstrip = str.rstrip             # <<<<<<<<<<<<<<
 *         else:
 *             comment = '/'
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyUnicode_Type)), __pyx_mstate_global->__pyx_n_u_rstrip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_rstrip = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":509
 * 
 *         _, ext = os.path.splitext(path)
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):             # <<<<<<<<<<<<<<
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#(?!\s*cython\s*:).*').sub, '')
*/
    goto __pyx_L6;
  }

  /* "Cython/Compiler/Code.py":514
 *             rstrip = str.rstrip
 *         else:
 *             comment = '/'             # <<<<<<<<<<<<<<
 *             strip_comments = partial(re.compile(r'^\s*[inserted by cython to avoid comment closer]//.*|/\*[^*]*\*[inserted by cython to avoid comment closer]/').sub, '')
 *             rstrip = partial(re.compile(r'\s+(\\?)$').sub, r'\1')
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__10);
    __pyx_v_comment = __pyx_mstate_global->__pyx_kp_u__10;

    /* "Cython/Compiler/Code.py":515
 *         else:
 *             comment = '/'
 *             strip_comments = partial(re.compile(r'^\s*[inserted by cython to avoid comment closer]//.*|/\*[^*]*\*[inserted by cython to avoid comment closer]/').sub, '')             # <<<<<<<<<<<<<<
 *             rstrip = partial(re.compile(r'\s+(\\?)$').sub, r'\1')
 * 
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_partial);
    __pyx_t_9 = __pyx_v_6Cython_8Compiler_4Code_partial; 
    __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_re;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_s};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sub); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_6, __pyx_mstate_global->__pyx_kp_u__9};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_strip_comments = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":516
 *             comment = '/'
 *             strip_comments = partial(re.compile(r'^\s*[inserted by cython to avoid comment closer]//.*|/\*[^*]*\*[inserted by cython to avoid comment closer]/').sub, '')
 *             rstrip = partial(re.compile(r'\s+(\\?)$').sub, r'\1')             # <<<<<<<<<<<<<<
 * 
 *         match_special = cls.get_special_comment_matcher(comment)
*/
    __pyx_t_9 = NULL;
    __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_partial);
    __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_partial; 
    __pyx_t_3 = __pyx_v_6Cython_8Compiler_4Code_re;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_s_2};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_9);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_t_3, __pyx_mstate_global->__pyx_kp_u_1};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_rstrip = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L6:;

  /* "Cython/Compiler/Code.py":518
 *             rstrip = partial(re.compile(r'\s+(\\?)$').sub, r'\1')
 * 
 *         match_special = cls.get_special_comment_matcher(comment)             # <<<<<<<<<<<<<<
 *         match_type = cls.match_section_title
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_cls);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_comment};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_special_comment_matcher, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_match_special = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":519
 * 
 *         match_special = cls.get_special_comment_matcher(comment)
 *         match_type = cls.match_section_title             # <<<<<<<<<<<<<<
 * 
 *         all_lines = read_utilities_hook(path)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_mstate_global->__pyx_n_u_match_section_title); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_match_type = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":521
 *         match_type = cls.match_section_title
 * 
 *         all_lines = read_utilities_hook(path)             # <<<<<<<<<<<<<<
 * 
 *         utilities = defaultdict(lambda: [None, None, {}])
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_read_utilities_hook); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_path};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_all_lines = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":523
 *         all_lines = read_utilities_hook(path)
 * 
 *         utilities = defaultdict(lambda: [None, None, {}])             # <<<<<<<<<<<<<<
 *         lines = []
 *         tags = defaultdict(set)
*/
  __pyx_t_3 = NULL;
  __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_defaultdict);
  __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_defaultdict; 
  __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_24load_utilities_from_file_lambda, 0, __pyx_mstate_global->__pyx_n_u_load_utilities_from_file_locals, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0])); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF_SET(__pyx_v_utilities, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":524
 * 
 *         utilities = defaultdict(lambda: [None, None, {}])
 *         lines = []             # <<<<<<<<<<<<<<
 *         tags = defaultdict(set)
 *         utility = name = type = None
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_lines = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":525
 *         utilities = defaultdict(lambda: [None, None, {}])
 *         lines = []
 *         tags = defaultdict(set)             # <<<<<<<<<<<<<<
 *         utility = name = type = None
 *         begin_lineno = 0
*/
  __pyx_t_6 = NULL;
  __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_defaultdict);
  __pyx_t_9 = __pyx_v_6Cython_8Compiler_4Code_defaultdict; 
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, ((PyObject *)(&PySet_Type))};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_tags = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":526
 *         lines = []
 *         tags = defaultdict(set)
 *         utility = name = type = None             # <<<<<<<<<<<<<<
 *         begin_lineno = 0
 * 
*/
  __Pyx_INCREF(Py_None);
  __pyx_v_utility = Py_None;
  __Pyx_INCREF(Py_None);
  __pyx_v_name = Py_None;
  __Pyx_INCREF(Py_None);
  __pyx_v_type = Py_None;

  /* "Cython/Compiler/Code.py":527
 *         tags = defaultdict(set)
 *         utility = name = type = None
 *         begin_lineno = 0             # <<<<<<<<<<<<<<
 * 
 *         for lineno, line in enumerate(all_lines):
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_v_begin_lineno = __pyx_mstate_global->__pyx_int_0;

  /* "Cython/Compiler/Code.py":529
 *         begin_lineno = 0
 * 
 *         for lineno, line in enumerate(all_lines):             # <<<<<<<<<<<<<<
 *             m = match_special(line)
 *             if m is None:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_1 = __pyx_mstate_global->__pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_all_lines)) || PyTuple_CheckExact(__pyx_v_all_lines)) {
    __pyx_t_9 = __pyx_v_all_lines; __Pyx_INCREF(__pyx_t_9);
    __pyx_t_10 = 0;
    __pyx_t_11 = NULL;
  } else {
    __pyx_t_10 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_all_lines); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 529, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_11)) {
      if (likely(PyList_CheckExact(__pyx_t_9))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_9);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 529, __pyx_L1_error)
          #endif
          if (__pyx_t_10 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_9, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_10;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_9);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 529, __pyx_L1_error)
          #endif
          if (__pyx_t_10 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_10));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_10);
        #endif
        ++__pyx_t_10;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 529, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_11(__pyx_t_9);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 529, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_lineno, __pyx_t_1);
    __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1);
    __pyx_t_1 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":530
 * 
 *         for lineno, line in enumerate(all_lines):
 *             m = match_special(line)             # <<<<<<<<<<<<<<
 *             if m is None:
 *                 lines.append(rstrip(strip_comments(line)))
*/
    __pyx_t_3 = NULL;
    __Pyx_INCREF(__pyx_v_match_special);
    __pyx_t_2 = __pyx_v_match_special; 
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_line};
      __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":531
 *         for lineno, line in enumerate(all_lines):
 *             m = match_special(line)
 *             if m is None:             # <<<<<<<<<<<<<<
 *                 lines.append(rstrip(strip_comments(line)))
 *             elif m.group('name'):
*/
    __pyx_t_8 = (__pyx_v_m == Py_None);
    if (__pyx_t_8) {

      /* "Cython/Compiler/Code.py":532
 *             m = match_special(line)
 *             if m is None:
 *                 lines.append(rstrip(strip_comments(line)))             # <<<<<<<<<<<<<<
 *             elif m.group('name'):
 *                 cls._add_utility(utility, name, type, lines, begin_lineno, tags)
*/
      __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_rstrip);
      __pyx_t_3 = __pyx_v_rstrip; 
      __pyx_t_13 = NULL;
      __Pyx_INCREF(__pyx_v_strip_comments);
      __pyx_t_14 = __pyx_v_strip_comments; 
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_14))) {
        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
        assert(__pyx_t_13);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_14);
        __Pyx_INCREF(__pyx_t_13);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_14, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_v_line};
        __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_14, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 532, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
      }
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_12};
        __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 532, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_t_6); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 532, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":531
 *         for lineno, line in enumerate(all_lines):
 *             m = match_special(line)
 *             if m is None:             # <<<<<<<<<<<<<<
 *                 lines.append(rstrip(strip_comments(line)))
 *             elif m.group('name'):
*/
      goto __pyx_L13;
    }

    /* "Cython/Compiler/Code.py":533
 *             if m is None:
 *                 lines.append(rstrip(strip_comments(line)))
 *             elif m.group('name'):             # <<<<<<<<<<<<<<
 *                 cls._add_utility(utility, name, type, lines, begin_lineno, tags)
 * 
*/
    __pyx_t_3 = __pyx_v_m;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_name};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_group, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 533, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 533, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (__pyx_t_8) {

      /* "Cython/Compiler/Code.py":534
 *                 lines.append(rstrip(strip_comments(line)))
 *             elif m.group('name'):
 *                 cls._add_utility(utility, name, type, lines, begin_lineno, tags)             # <<<<<<<<<<<<<<
 * 
 *                 begin_lineno = lineno + 1
*/
      __pyx_t_3 = ((PyObject *)__pyx_v_cls);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[7] = {__pyx_t_3, __pyx_v_utility, __pyx_v_name, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add_utility, __pyx_callargs+__pyx_t_4, (7-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":536
 *                 cls._add_utility(utility, name, type, lines, begin_lineno, tags)
 * 
 *                 begin_lineno = lineno + 1             # <<<<<<<<<<<<<<
 *                 del lines[:]
 *                 tags.clear()
*/
      __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_v_lineno, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF_SET(__pyx_v_begin_lineno, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":537
 * 
 *                 begin_lineno = lineno + 1
 *                 del lines[:]             # <<<<<<<<<<<<<<
 *                 tags.clear()
 * 
*/
      if (__Pyx_PyObject_DelSlice(__pyx_v_lines, 0, 0, NULL, NULL, NULL, 0, 0, 1) < (0)) __PYX_ERR(0, 537, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":538
 *                 begin_lineno = lineno + 1
 *                 del lines[:]
 *                 tags.clear()             # <<<<<<<<<<<<<<
 * 
 *                 name = m.group('name')
*/
      __pyx_t_3 = __pyx_v_tags;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_clear, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 538, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":540
 *                 tags.clear()
 * 
 *                 name = m.group('name')             # <<<<<<<<<<<<<<
 *                 mtype = match_type(name)
 *                 if mtype:
*/
      __pyx_t_3 = __pyx_v_m;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_name};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_group, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 540, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":541
 * 
 *                 name = m.group('name')
 *                 mtype = match_type(name)             # <<<<<<<<<<<<<<
 *                 if mtype:
 *                     name, type = mtype.groups()
*/
      __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_match_type);
      __pyx_t_12 = __pyx_v_match_type; 
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_12))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_12);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_12);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_12, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name};
        __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_12, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 541, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_mtype, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":542
 *                 name = m.group('name')
 *                 mtype = match_type(name)
 *                 if mtype:             # <<<<<<<<<<<<<<
 *                     name, type = mtype.groups()
 *                 else:
*/
      __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_mtype); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 542, __pyx_L1_error)
      if (__pyx_t_8) {

        /* "Cython/Compiler/Code.py":543
 *                 mtype = match_type(name)
 *                 if mtype:
 *                     name, type = mtype.groups()             # <<<<<<<<<<<<<<
 *                 else:
 *                     type = 'impl'
*/
        __pyx_t_12 = __pyx_v_mtype;
        __Pyx_INCREF(__pyx_t_12);
        __pyx_t_4 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
          __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_groups, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 543, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
          PyObject* sequence = __pyx_t_6;
          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
          if (unlikely(size != 2)) {
            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
            __PYX_ERR(0, 543, __pyx_L1_error)
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          if (likely(PyTuple_CheckExact(sequence))) {
            __pyx_t_12 = PyTuple_GET_ITEM(sequence, 0);
            __Pyx_INCREF(__pyx_t_12);
            __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
            __Pyx_INCREF(__pyx_t_3);
          } else {
            __pyx_t_12 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
            if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 543, __pyx_L1_error)
            __Pyx_XGOTREF(__pyx_t_12);
            __pyx_t_3 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error)
            __Pyx_XGOTREF(__pyx_t_3);
          }
          #else
          __pyx_t_12 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 543, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else {
          Py_ssize_t index = -1;
          __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2);
          index = 0; __pyx_t_12 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_12)) goto __pyx_L15_unpacking_failed;
          __Pyx_GOTREF(__pyx_t_12);
          index = 1; __pyx_t_3 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_3)) goto __pyx_L15_unpacking_failed;
          __Pyx_GOTREF(__pyx_t_3);
          if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_2), 2) < (0)) __PYX_ERR(0, 543, __pyx_L1_error)
          __pyx_t_7 = NULL;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          goto __pyx_L16_unpacking_done;
          __pyx_L15_unpacking_failed:;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_7 = NULL;
          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
          __PYX_ERR(0, 543, __pyx_L1_error)
          __pyx_L16_unpacking_done:;
        }
        __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_12);
        __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_type, __pyx_t_3);
        __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":542
 *                 name = m.group('name')
 *                 mtype = match_type(name)
 *                 if mtype:             # <<<<<<<<<<<<<<
 *                     name, type = mtype.groups()
 *                 else:
*/
        goto __pyx_L14;
      }

      /* "Cython/Compiler/Code.py":545
 *                     name, type = mtype.groups()
 *                 else:
 *                     type = 'impl'             # <<<<<<<<<<<<<<
 *                 utility = utilities[name]
 *             else:
*/
      /*else*/ {
        __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_impl);
        __Pyx_DECREF_SET(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_impl);
      }
      __pyx_L14:;

      /* "Cython/Compiler/Code.py":546
 *                 else:
 *                     type = 'impl'
 *                 utility = utilities[name]             # <<<<<<<<<<<<<<
 *             else:
 *                 tag_value = m.group('tag')
*/
      __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_utilities, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 546, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF_SET(__pyx_v_utility, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":533
 *             if m is None:
 *                 lines.append(rstrip(strip_comments(line)))
 *             elif m.group('name'):             # <<<<<<<<<<<<<<
 *                 cls._add_utility(utility, name, type, lines, begin_lineno, tags)
 * 
*/
      goto __pyx_L13;
    }

    /* "Cython/Compiler/Code.py":548
 *                 utility = utilities[name]
 *             else:
 *                 tag_value = m.group('tag')             # <<<<<<<<<<<<<<
 *                 if ':' not in tag_value:
 *                     raise RuntimeError(f"Found invalid tag '{tag_value}' in utility section {name}.{type}")
*/
    /*else*/ {
      __pyx_t_3 = __pyx_v_m;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_tag};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_group, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 548, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_tag_value, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":549
 *             else:
 *                 tag_value = m.group('tag')
 *                 if ':' not in tag_value:             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Found invalid tag '{tag_value}' in utility section {name}.{type}")
 * 
*/
      __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u__6, __pyx_v_tag_value, Py_NE)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 549, __pyx_L1_error)
      if (unlikely(__pyx_t_8)) {

        /* "Cython/Compiler/Code.py":550
 *                 tag_value = m.group('tag')
 *                 if ':' not in tag_value:
 *                     raise RuntimeError(f"Found invalid tag '{tag_value}' in utility section {name}.{type}")             # <<<<<<<<<<<<<<
 * 
 *                 tag_name, _, tag_value = tag_value.partition(':')
*/
        __pyx_t_3 = NULL;
        __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_tag_value, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 550, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 550, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_type, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 550, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_Found_invalid_tag;
        __pyx_t_16[1] = __pyx_t_12;
        __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u_in_utility_section;
        __pyx_t_16[3] = __pyx_t_2;
        __pyx_t_16[4] = __pyx_mstate_global->__pyx_kp_u__4;
        __pyx_t_16[5] = __pyx_t_14;
        __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_16, 6, 19 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12) + 21 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14));
        if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 550, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_4 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_13};
          __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 550, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        __Pyx_Raise(__pyx_t_6, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __PYX_ERR(0, 550, __pyx_L1_error)

        /* "Cython/Compiler/Code.py":549
 *             else:
 *                 tag_value = m.group('tag')
 *                 if ':' not in tag_value:             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Found invalid tag '{tag_value}' in utility section {name}.{type}")
 * 
*/
      }

      /* "Cython/Compiler/Code.py":552
 *                     raise RuntimeError(f"Found invalid tag '{tag_value}' in utility section {name}.{type}")
 * 
 *                 tag_name, _, tag_value = tag_value.partition(':')             # <<<<<<<<<<<<<<
 *                 tag_name = tag_name.rstrip()
 *                 tag_value = tag_value.strip()
*/
      __pyx_t_13 = __pyx_v_tag_value;
      __Pyx_INCREF(__pyx_t_13);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_mstate_global->__pyx_kp_u__6};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_partition, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 552, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
        PyObject* sequence = __pyx_t_6;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 3)) {
          if (size > 3) __Pyx_RaiseTooManyValuesError(3);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 552, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_13 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_13);
          __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_3);
          __pyx_t_14 = PyTuple_GET_ITEM(sequence, 2);
          __Pyx_INCREF(__pyx_t_14);
        } else {
          __pyx_t_13 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 552, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_13);
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 552, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_3);
          __pyx_t_14 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 552, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_14);
        }
        #else
        __pyx_t_13 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 552, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 552, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_14 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 552, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        #endif
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 552, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2);
        index = 0; __pyx_t_13 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_13)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_13);
        index = 1; __pyx_t_3 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_3)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_3);
        index = 2; __pyx_t_14 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_14)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_14);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_2), 3) < (0)) __PYX_ERR(0, 552, __pyx_L1_error)
        __pyx_t_7 = NULL;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L19_unpacking_done;
        __pyx_L18_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_7 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 552, __pyx_L1_error)
        __pyx_L19_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_tag_name, __pyx_t_13);
      __pyx_t_13 = 0;
      __Pyx_DECREF_SET(__pyx_v__, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_DECREF_SET(__pyx_v_tag_value, __pyx_t_14);
      __pyx_t_14 = 0;

      /* "Cython/Compiler/Code.py":553
 * 
 *                 tag_name, _, tag_value = tag_value.partition(':')
 *                 tag_name = tag_name.rstrip()             # <<<<<<<<<<<<<<
 *                 tag_value = tag_value.strip()
 * 
*/
      __pyx_t_14 = __pyx_v_tag_name;
      __Pyx_INCREF(__pyx_t_14);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_14, NULL};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_rstrip, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 553, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_DECREF_SET(__pyx_v_tag_name, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":554
 *                 tag_name, _, tag_value = tag_value.partition(':')
 *                 tag_name = tag_name.rstrip()
 *                 tag_value = tag_value.strip()             # <<<<<<<<<<<<<<
 * 
 *                 if tag_name not in ('requires', 'substitute', 'proto_block'):
*/
      __pyx_t_14 = __pyx_v_tag_value;
      __Pyx_INCREF(__pyx_t_14);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_14, NULL};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 554, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_DECREF_SET(__pyx_v_tag_value, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":556
 *                 tag_value = tag_value.strip()
 * 
 *                 if tag_name not in ('requires', 'substitute', 'proto_block'):             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Found unknown tag name '{tag_name}' in utility section {name}.{type}")
 *                 if not re.match(r'\S+$', tag_value):
*/
      __Pyx_INCREF(__pyx_v_tag_name);
      __pyx_t_6 = __pyx_v_tag_name;
      __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_requires, Py_NE)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 556, __pyx_L1_error)
      if (__pyx_t_5) {
      } else {
        __pyx_t_8 = __pyx_t_5;
        goto __pyx_L21_bool_binop_done;
      }
      __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_substitute, Py_NE)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 556, __pyx_L1_error)
      if (__pyx_t_5) {
      } else {
        __pyx_t_8 = __pyx_t_5;
        goto __pyx_L21_bool_binop_done;
      }
      __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_proto_block, Py_NE)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 556, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_5;
      __pyx_L21_bool_binop_done:;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_5 = __pyx_t_8;
      if (unlikely(__pyx_t_5)) {

        /* "Cython/Compiler/Code.py":557
 * 
 *                 if tag_name not in ('requires', 'substitute', 'proto_block'):
 *                     raise RuntimeError(f"Found unknown tag name '{tag_name}' in utility section {name}.{type}")             # <<<<<<<<<<<<<<
 *                 if not re.match(r'\S+$', tag_value):
 *                     raise RuntimeError(f"Found invalid tag value '{tag_value}' in utility section {name}.{type}")
*/
        __pyx_t_14 = NULL;
        __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_tag_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 557, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_type, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 557, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_Found_unknown_tag_name;
        __pyx_t_16[1] = __pyx_t_3;
        __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u_in_utility_section;
        __pyx_t_16[3] = __pyx_t_13;
        __pyx_t_16[4] = __pyx_mstate_global->__pyx_kp_u__4;
        __pyx_t_16[5] = __pyx_t_2;
        __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_16, 6, 24 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 21 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
        if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 557, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_4 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_12};
          __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 557, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        __Pyx_Raise(__pyx_t_6, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __PYX_ERR(0, 557, __pyx_L1_error)

        /* "Cython/Compiler/Code.py":556
 *                 tag_value = tag_value.strip()
 * 
 *                 if tag_name not in ('requires', 'substitute', 'proto_block'):             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Found unknown tag name '{tag_name}' in utility section {name}.{type}")
 *                 if not re.match(r'\S+$', tag_value):
*/
      }

      /* "Cython/Compiler/Code.py":558
 *                 if tag_name not in ('requires', 'substitute', 'proto_block'):
 *                     raise RuntimeError(f"Found unknown tag name '{tag_name}' in utility section {name}.{type}")
 *                 if not re.match(r'\S+$', tag_value):             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Found invalid tag value '{tag_value}' in utility section {name}.{type}")
 * 
*/
      __pyx_t_12 = __pyx_v_6Cython_8Compiler_4Code_re;
      __Pyx_INCREF(__pyx_t_12);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_mstate_global->__pyx_kp_u_S, __pyx_v_tag_value};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_match, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 558, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 558, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_8 = (!__pyx_t_5);
      if (unlikely(__pyx_t_8)) {

        /* "Cython/Compiler/Code.py":559
 *                     raise RuntimeError(f"Found unknown tag name '{tag_name}' in utility section {name}.{type}")
 *                 if not re.match(r'\S+$', tag_value):
 *                     raise RuntimeError(f"Found invalid tag value '{tag_value}' in utility section {name}.{type}")             # <<<<<<<<<<<<<<
 * 
 *                 tags[tag_name].add(tag_value)
*/
        __pyx_t_12 = NULL;
        __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_tag_value, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 559, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_v_type, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 559, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_Found_invalid_tag_value;
        __pyx_t_16[1] = __pyx_t_14;
        __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u_in_utility_section;
        __pyx_t_16[3] = __pyx_t_2;
        __pyx_t_16[4] = __pyx_mstate_global->__pyx_kp_u__4;
        __pyx_t_16[5] = __pyx_t_13;
        __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_16, 6, 25 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14) + 21 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13));
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 559, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_t_4 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_3};
          __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 559, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
        }
        __Pyx_Raise(__pyx_t_6, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __PYX_ERR(0, 559, __pyx_L1_error)

        /* "Cython/Compiler/Code.py":558
 *                 if tag_name not in ('requires', 'substitute', 'proto_block'):
 *                     raise RuntimeError(f"Found unknown tag name '{tag_name}' in utility section {name}.{type}")
 *                 if not re.match(r'\S+$', tag_value):             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Found invalid tag value '{tag_value}' in utility section {name}.{type}")
 * 
*/
      }

      /* "Cython/Compiler/Code.py":561
 *                     raise RuntimeError(f"Found invalid tag value '{tag_value}' in utility section {name}.{type}")
 * 
 *                 tags[tag_name].add(tag_value)             # <<<<<<<<<<<<<<
 *                 lines.append('')  # keep line number correct
 * 
*/
      __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_tags, __pyx_v_tag_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 561, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_3 = __pyx_t_12;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_tag_value};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 561, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":562
 * 
 *                 tags[tag_name].add(tag_value)
 *                 lines.append('')  # keep line number correct             # <<<<<<<<<<<<<<
 * 
 *         if utility is None:
*/
      __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_mstate_global->__pyx_kp_u__9); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 562, __pyx_L1_error)
    }
    __pyx_L13:;

    /* "Cython/Compiler/Code.py":529
 *         begin_lineno = 0
 * 
 *         for lineno, line in enumerate(all_lines):             # <<<<<<<<<<<<<<
 *             m = match_special(line)
 *             if m is None:
*/
  }
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":564
 *                 lines.append('')  # keep line number correct
 * 
 *         if utility is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Empty utility code file")
 * 
*/
  __pyx_t_8 = (__pyx_v_utility == Py_None);
  if (unlikely(__pyx_t_8)) {

    /* "Cython/Compiler/Code.py":565
 * 
 *         if utility is None:
 *             raise ValueError("Empty utility code file")             # <<<<<<<<<<<<<<
 * 
 *         # Don't forget to add the last utility code
*/
    __pyx_t_9 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_Empty_utility_code_file};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 565, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":564
 *                 lines.append('')  # keep line number correct
 * 
 *         if utility is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Empty utility code file")
 * 
*/
  }

  /* "Cython/Compiler/Code.py":568
 * 
 *         # Don't forget to add the last utility code
 *         cls._add_utility(utility, name, type, lines, begin_lineno, tags)             # <<<<<<<<<<<<<<
 * 
 *         utilities = dict(utilities)  # un-defaultdict-ify
*/
  __pyx_t_9 = ((PyObject *)__pyx_v_cls);
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[7] = {__pyx_t_9, __pyx_v_utility, __pyx_v_name, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add_utility, __pyx_callargs+__pyx_t_4, (7-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":570
 *         cls._add_utility(utility, name, type, lines, begin_lineno, tags)
 * 
 *         utilities = dict(utilities)  # un-defaultdict-ify             # <<<<<<<<<<<<<<
 *         cls._utility_cache[path] = utilities
 *         return utilities
*/
  __pyx_t_9 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_utilities};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyDict_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF_SET(__pyx_v_utilities, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":571
 * 
 *         utilities = dict(utilities)  # un-defaultdict-ify
 *         cls._utility_cache[path] = utilities             # <<<<<<<<<<<<<<
 *         return utilities
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_mstate_global->__pyx_n_u_utility_cache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_path, __pyx_v_utilities) < 0))) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":572
 *         utilities = dict(utilities)  # un-defaultdict-ify
 *         cls._utility_cache[path] = utilities
 *         return utilities             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_utilities);
  __pyx_r = __pyx_v_utilities;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":502
 *                 all_tags.setdefault(tag_name, set()).update(tag_values)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_utilities_from_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_utilities);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XDECREF(__pyx_v_ext);
  __Pyx_XDECREF(__pyx_v_comment);
  __Pyx_XDECREF(__pyx_v_strip_comments);
  __Pyx_XDECREF(__pyx_v_rstrip);
  __Pyx_XDECREF(__pyx_v_match_special);
  __Pyx_XDECREF(__pyx_v_match_type);
  __Pyx_XDECREF(__pyx_v_all_lines);
  __Pyx_XDECREF(__pyx_v_lines);
  __Pyx_XDECREF(__pyx_v_tags);
  __Pyx_XDECREF(__pyx_v_utility);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_type);
  __Pyx_XDECREF(__pyx_v_begin_lineno);
  __Pyx_XDECREF(__pyx_v_lineno);
  __Pyx_XDECREF(__pyx_v_line);
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XDECREF(__pyx_v_mtype);
  __Pyx_XDECREF(__pyx_v_tag_value);
  __Pyx_XDECREF(__pyx_v_tag_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":574
 *         return utilities
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load(cls, util_code_name, from_file, **kwargs):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_7load(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_6load, "\n        Load utility code from a file specified by from_file (relative to\n        Cython/Utility) and name util_code_name.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_7load = {"load", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_7load, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_6load};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_7load(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_util_code_name = 0;
  PyObject *__pyx_v_from_file = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_util_code_name,&__pyx_mstate_global->__pyx_n_u_from_file,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 574, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "load", 1) < (0)) __PYX_ERR(0, 574, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("load", 1, 2, 2, i); __PYX_ERR(0, 574, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 574, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 574, __pyx_L3_error)
    }
    __pyx_v_util_code_name = values[0];
    __pyx_v_from_file = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_6load(((PyTypeObject*)__pyx_v_cls), __pyx_v_util_code_name, __pyx_v_from_file, __pyx_v_kwargs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_6load(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_util_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_utilities = NULL;
  PyObject *__pyx_v_proto = NULL;
  PyObject *__pyx_v_impl = NULL;
  PyObject *__pyx_v_tags = NULL;
  PyObject *__pyx_v_orig_kwargs = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_values = NULL;
  PyObject *__pyx_7genexpr__pyx_v_dep = NULL;
  PyObject *__pyx_8genexpr1__pyx_v_dep = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_t_12;
  int __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("load", 0);
  __Pyx_INCREF(__pyx_v_util_code_name);
  __Pyx_INCREF(__pyx_v_from_file);

  /* "Cython/Compiler/Code.py":581
 *         """
 * 
 *         if '::' in util_code_name:             # <<<<<<<<<<<<<<
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         assert from_file
*/
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u__11, __pyx_v_util_code_name, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 581, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":582
 * 
 *         if '::' in util_code_name:
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)             # <<<<<<<<<<<<<<
 *         assert from_file
 *         utilities = cls.load_utilities_from_file(from_file)
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code_name, __pyx_mstate_global->__pyx_n_u_rsplit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[1], NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
      PyObject* sequence = __pyx_t_3;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 582, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_4);
      } else {
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_4);
      }
      #else
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      #endif
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
      index = 0; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < (0)) __PYX_ERR(0, 582, __pyx_L1_error)
      __pyx_t_6 = NULL;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L5_unpacking_done;
      __pyx_L4_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_6 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 582, __pyx_L1_error)
      __pyx_L5_unpacking_done:;
    }
    __Pyx_DECREF_SET(__pyx_v_from_file, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_util_code_name, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":581
 *         """
 * 
 *         if '::' in util_code_name:             # <<<<<<<<<<<<<<
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         assert from_file
*/
  }

  /* "Cython/Compiler/Code.py":583
 *         if '::' in util_code_name:
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         assert from_file             # <<<<<<<<<<<<<<
 *         utilities = cls.load_utilities_from_file(from_file)
 *         proto, impl, tags = utilities[util_code_name]
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_from_file); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 583, __pyx_L1_error)
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(0, 583, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 583, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":584
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         assert from_file
 *         utilities = cls.load_utilities_from_file(from_file)             # <<<<<<<<<<<<<<
 *         proto, impl, tags = utilities[util_code_name]
 * 
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_cls);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_from_file};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_load_utilities_from_file, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_v_utilities = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":585
 *         assert from_file
 *         utilities = cls.load_utilities_from_file(from_file)
 *         proto, impl, tags = utilities[util_code_name]             # <<<<<<<<<<<<<<
 * 
 *         if tags:
*/
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_utilities, __pyx_v_util_code_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
    PyObject* sequence = __pyx_t_3;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 3)) {
      if (size > 3) __Pyx_RaiseTooManyValuesError(3);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 585, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2);
      __Pyx_INCREF(__pyx_t_5);
    } else {
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_5);
    }
    #else
    __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    #endif
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
    index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_4);
    index = 1; __pyx_t_2 = __pyx_t_6(__pyx_t_8); if (unlikely(!__pyx_t_2)) goto __pyx_L6_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 2; __pyx_t_5 = __pyx_t_6(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_8), 3) < (0)) __PYX_ERR(0, 585, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    goto __pyx_L7_unpacking_done;
    __pyx_L6_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 585, __pyx_L1_error)
    __pyx_L7_unpacking_done:;
  }
  __pyx_v_proto = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_v_impl = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_tags = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":587
 *         proto, impl, tags = utilities[util_code_name]
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             if "substitute" in tags and "tempita" in tags["substitute"]:
 *                 if not issubclass(cls, TempitaUtilityCode):
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_tags); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 587, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":588
 * 
 *         if tags:
 *             if "substitute" in tags and "tempita" in tags["substitute"]:             # <<<<<<<<<<<<<<
 *                 if not issubclass(cls, TempitaUtilityCode):
 *                     return TempitaUtilityCode.load(util_code_name, from_file, **kwargs)
*/
    __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_substitute, __pyx_v_tags, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 588, __pyx_L1_error)
    if (__pyx_t_9) {
    } else {
      __pyx_t_1 = __pyx_t_9;
      goto __pyx_L10_bool_binop_done;
    }
    __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_tags, __pyx_mstate_global->__pyx_n_u_substitute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_tempita, __pyx_t_3, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 588, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = __pyx_t_9;
    __pyx_L10_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":589
 *         if tags:
 *             if "substitute" in tags and "tempita" in tags["substitute"]:
 *                 if not issubclass(cls, TempitaUtilityCode):             # <<<<<<<<<<<<<<
 *                     return TempitaUtilityCode.load(util_code_name, from_file, **kwargs)
 *             orig_kwargs = kwargs.copy()
*/
      __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = PyObject_IsSubclass(((PyObject *)__pyx_v_cls), __pyx_t_3); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 589, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_9 = (!__pyx_t_1);
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":590
 *             if "substitute" in tags and "tempita" in tags["substitute"]:
 *                 if not issubclass(cls, TempitaUtilityCode):
 *                     return TempitaUtilityCode.load(util_code_name, from_file, **kwargs)             # <<<<<<<<<<<<<<
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():
*/
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_5 = NULL;
        __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_load); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 590, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_5);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_7 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_util_code_name, __pyx_v_from_file};
          __pyx_t_3 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 590, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __pyx_r = __pyx_t_3;
        __pyx_t_3 = 0;
        goto __pyx_L0;

        /* "Cython/Compiler/Code.py":589
 *         if tags:
 *             if "substitute" in tags and "tempita" in tags["substitute"]:
 *                 if not issubclass(cls, TempitaUtilityCode):             # <<<<<<<<<<<<<<
 *                     return TempitaUtilityCode.load(util_code_name, from_file, **kwargs)
 *             orig_kwargs = kwargs.copy()
*/
      }

      /* "Cython/Compiler/Code.py":588
 * 
 *         if tags:
 *             if "substitute" in tags and "tempita" in tags["substitute"]:             # <<<<<<<<<<<<<<
 *                 if not issubclass(cls, TempitaUtilityCode):
 *                     return TempitaUtilityCode.load(util_code_name, from_file, **kwargs)
*/
    }

    /* "Cython/Compiler/Code.py":591
 *                 if not issubclass(cls, TempitaUtilityCode):
 *                     return TempitaUtilityCode.load(util_code_name, from_file, **kwargs)
 *             orig_kwargs = kwargs.copy()             # <<<<<<<<<<<<<<
 *             for name, values in tags.items():
 *                 if name in kwargs:
*/
    __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_orig_kwargs = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":592
 *                     return TempitaUtilityCode.load(util_code_name, from_file, **kwargs)
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():             # <<<<<<<<<<<<<<
 *                 if name in kwargs:
 *                     continue
*/
    __pyx_t_10 = 0;
    if (unlikely(__pyx_v_tags == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(0, 592, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_dict_iterator(__pyx_v_tags, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_11), (&__pyx_t_12)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;
    while (1) {
      __pyx_t_13 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_11, &__pyx_t_10, &__pyx_t_4, &__pyx_t_2, NULL, __pyx_t_12);
      if (unlikely(__pyx_t_13 == 0)) break;
      if (unlikely(__pyx_t_13 == -1)) __PYX_ERR(0, 592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":593
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():
 *                 if name in kwargs:             # <<<<<<<<<<<<<<
 *                     continue
 *                 # only pass lists when we have to: most argument expect one value or None
*/
      __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 593, __pyx_L1_error)
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":594
 *             for name, values in tags.items():
 *                 if name in kwargs:
 *                     continue             # <<<<<<<<<<<<<<
 *                 # only pass lists when we have to: most argument expect one value or None
 *                 if name == 'requires':
*/
        goto __pyx_L13_continue;

        /* "Cython/Compiler/Code.py":593
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():
 *                 if name in kwargs:             # <<<<<<<<<<<<<<
 *                     continue
 *                 # only pass lists when we have to: most argument expect one value or None
*/
      }

      /* "Cython/Compiler/Code.py":596
 *                     continue
 *                 # only pass lists when we have to: most argument expect one value or None
 *                 if name == 'requires':             # <<<<<<<<<<<<<<
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)
*/
      __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_requires, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 596, __pyx_L1_error)
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":597
 *                 # only pass lists when we have to: most argument expect one value or None
 *                 if name == 'requires':
 *                     if orig_kwargs:             # <<<<<<<<<<<<<<
 *                         values = [cls.load(dep, from_file, **orig_kwargs)
 *                                   for dep in sorted(values)]
*/
        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_orig_kwargs); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 597, __pyx_L1_error)
        if (__pyx_t_9) {

          /* "Cython/Compiler/Code.py":598
 *                 if name == 'requires':
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)             # <<<<<<<<<<<<<<
 *                                   for dep in sorted(values)]
 *                     else:
*/
          { /* enter inner scope */
            __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);

            /* "Cython/Compiler/Code.py":599
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)
 *                                   for dep in sorted(values)]             # <<<<<<<<<<<<<<
 *                     else:
 *                         # dependencies are rarely unique, so use load_cached() when we can
*/
            __pyx_t_4 = PySequence_List(__pyx_v_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 599, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (unlikely((PyList_Sort(__pyx_t_4) < 0))) __PYX_ERR(0, 599, __pyx_L20_error)
            __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5);
            __pyx_t_14 = 0;
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            for (;;) {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 599, __pyx_L20_error)
                #endif
                if (__pyx_t_14 >= __pyx_temp) break;
              }
              __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_14, __Pyx_ReferenceSharing_OwnStrongReference);
              ++__pyx_t_14;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 599, __pyx_L20_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_dep, __pyx_t_4);
              __pyx_t_4 = 0;

              /* "Cython/Compiler/Code.py":598
 *                 if name == 'requires':
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)             # <<<<<<<<<<<<<<
 *                                   for dep in sorted(values)]
 *                     else:
*/
              __pyx_t_8 = NULL;
              __pyx_t_15 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_mstate_global->__pyx_n_u_load); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 598, __pyx_L20_error)
              __Pyx_GOTREF(__pyx_t_15);
              if (unlikely(__pyx_v_orig_kwargs == Py_None)) {
                PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
                __PYX_ERR(0, 598, __pyx_L20_error)
              }
              __pyx_t_16 = PyDict_Copy(__pyx_v_orig_kwargs); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 598, __pyx_L20_error)
              __Pyx_GOTREF(__pyx_t_16);
              __pyx_t_7 = 1;
              #if CYTHON_UNPACK_METHODS
              if (likely(PyMethod_Check(__pyx_t_15))) {
                __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_15);
                assert(__pyx_t_8);
                PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_15);
                __Pyx_INCREF(__pyx_t_8);
                __Pyx_INCREF(__pyx__function);
                __Pyx_DECREF_SET(__pyx_t_15, __pyx__function);
                __pyx_t_7 = 0;
              }
              #endif
              {
                PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_7genexpr__pyx_v_dep, __pyx_v_from_file};
                __pyx_t_4 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_15, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_16);
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
                __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
                if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 598, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_4);
              }
              if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 598, __pyx_L20_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

              /* "Cython/Compiler/Code.py":599
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)
 *                                   for dep in sorted(values)]             # <<<<<<<<<<<<<<
 *                     else:
 *                         # dependencies are rarely unique, so use load_cached() when we can
*/
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_7genexpr__pyx_v_dep); __pyx_7genexpr__pyx_v_dep = 0;
            goto __pyx_L24_exit_scope;
            __pyx_L20_error:;
            __Pyx_XDECREF(__pyx_7genexpr__pyx_v_dep); __pyx_7genexpr__pyx_v_dep = 0;
            goto __pyx_L1_error;
            __pyx_L24_exit_scope:;
          } /* exit inner scope */
          __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_2);
          __pyx_t_2 = 0;

          /* "Cython/Compiler/Code.py":597
 *                 # only pass lists when we have to: most argument expect one value or None
 *                 if name == 'requires':
 *                     if orig_kwargs:             # <<<<<<<<<<<<<<
 *                         values = [cls.load(dep, from_file, **orig_kwargs)
 *                                   for dep in sorted(values)]
*/
          goto __pyx_L17;
        }

        /* "Cython/Compiler/Code.py":602
 *                     else:
 *                         # dependencies are rarely unique, so use load_cached() when we can
 *                         values = [cls.load_cached(dep, from_file)             # <<<<<<<<<<<<<<
 *                                   for dep in sorted(values)]
 *                 elif name == 'substitute':
*/
        /*else*/ {
          { /* enter inner scope */
            __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_2);

            /* "Cython/Compiler/Code.py":603
 *                         # dependencies are rarely unique, so use load_cached() when we can
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]             # <<<<<<<<<<<<<<
 *                 elif name == 'substitute':
 *                     # don't want to pass "naming" or "tempita" to the constructor
*/
            __pyx_t_5 = PySequence_List(__pyx_v_values); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 603, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (unlikely((PyList_Sort(__pyx_t_5) < 0))) __PYX_ERR(0, 603, __pyx_L27_error)
            __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4);
            __pyx_t_14 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            for (;;) {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 603, __pyx_L27_error)
                #endif
                if (__pyx_t_14 >= __pyx_temp) break;
              }
              __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_14, __Pyx_ReferenceSharing_OwnStrongReference);
              ++__pyx_t_14;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 603, __pyx_L27_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_dep, __pyx_t_5);
              __pyx_t_5 = 0;

              /* "Cython/Compiler/Code.py":602
 *                     else:
 *                         # dependencies are rarely unique, so use load_cached() when we can
 *                         values = [cls.load_cached(dep, from_file)             # <<<<<<<<<<<<<<
 *                                   for dep in sorted(values)]
 *                 elif name == 'substitute':
*/
              __pyx_t_15 = ((PyObject *)__pyx_v_cls);
              __Pyx_INCREF(__pyx_t_15);
              __pyx_t_7 = 0;
              {
                PyObject *__pyx_callargs[3] = {__pyx_t_15, __pyx_8genexpr1__pyx_v_dep, __pyx_v_from_file};
                __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_load_cached, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
                if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 602, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_5);
              }
              if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 602, __pyx_L27_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

              /* "Cython/Compiler/Code.py":603
 *                         # dependencies are rarely unique, so use load_cached() when we can
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]             # <<<<<<<<<<<<<<
 *                 elif name == 'substitute':
 *                     # don't want to pass "naming" or "tempita" to the constructor
*/
            }
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_dep); __pyx_8genexpr1__pyx_v_dep = 0;
            goto __pyx_L31_exit_scope;
            __pyx_L27_error:;
            __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_dep); __pyx_8genexpr1__pyx_v_dep = 0;
            goto __pyx_L1_error;
            __pyx_L31_exit_scope:;
          } /* exit inner scope */
          __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_2);
          __pyx_t_2 = 0;
        }
        __pyx_L17:;

        /* "Cython/Compiler/Code.py":596
 *                     continue
 *                 # only pass lists when we have to: most argument expect one value or None
 *                 if name == 'requires':             # <<<<<<<<<<<<<<
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)
*/
        goto __pyx_L16;
      }

      /* "Cython/Compiler/Code.py":604
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]
 *                 elif name == 'substitute':             # <<<<<<<<<<<<<<
 *                     # don't want to pass "naming" or "tempita" to the constructor
 *                     # since these will have been handled
*/
      __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_substitute, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 604, __pyx_L1_error)
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":607
 *                     # don't want to pass "naming" or "tempita" to the constructor
 *                     # since these will have been handled
 *                     values = values - {'naming', 'tempita'}             # <<<<<<<<<<<<<<
 *                     if not values:
 *                         continue
*/
        __pyx_t_2 = PySet_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 607, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (PySet_Add(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_naming) < (0)) __PYX_ERR(0, 607, __pyx_L1_error)
        if (PySet_Add(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_tempita) < (0)) __PYX_ERR(0, 607, __pyx_L1_error)
        __pyx_t_4 = PyNumber_Subtract(__pyx_v_values, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 607, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "Cython/Compiler/Code.py":608
 *                     # since these will have been handled
 *                     values = values - {'naming', 'tempita'}
 *                     if not values:             # <<<<<<<<<<<<<<
 *                         continue
 *                 elif not values:
*/
        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_values); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 608, __pyx_L1_error)
        __pyx_t_1 = (!__pyx_t_9);
        if (__pyx_t_1) {

          /* "Cython/Compiler/Code.py":609
 *                     values = values - {'naming', 'tempita'}
 *                     if not values:
 *                         continue             # <<<<<<<<<<<<<<
 *                 elif not values:
 *                     values = None
*/
          goto __pyx_L13_continue;

          /* "Cython/Compiler/Code.py":608
 *                     # since these will have been handled
 *                     values = values - {'naming', 'tempita'}
 *                     if not values:             # <<<<<<<<<<<<<<
 *                         continue
 *                 elif not values:
*/
        }

        /* "Cython/Compiler/Code.py":604
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]
 *                 elif name == 'substitute':             # <<<<<<<<<<<<<<
 *                     # don't want to pass "naming" or "tempita" to the constructor
 *                     # since these will have been handled
*/
        goto __pyx_L16;
      }

      /* "Cython/Compiler/Code.py":610
 *                     if not values:
 *                         continue
 *                 elif not values:             # <<<<<<<<<<<<<<
 *                     values = None
 *                 elif len(values) == 1:
*/
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_values); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 610, __pyx_L1_error)
      __pyx_t_9 = (!__pyx_t_1);
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":611
 *                         continue
 *                 elif not values:
 *                     values = None             # <<<<<<<<<<<<<<
 *                 elif len(values) == 1:
 *                     values = list(values)[0]
*/
        __Pyx_INCREF(Py_None);
        __Pyx_DECREF_SET(__pyx_v_values, Py_None);

        /* "Cython/Compiler/Code.py":610
 *                     if not values:
 *                         continue
 *                 elif not values:             # <<<<<<<<<<<<<<
 *                     values = None
 *                 elif len(values) == 1:
*/
        goto __pyx_L16;
      }

      /* "Cython/Compiler/Code.py":612
 *                 elif not values:
 *                     values = None
 *                 elif len(values) == 1:             # <<<<<<<<<<<<<<
 *                     values = list(values)[0]
 *                 kwargs[name] = values
*/
      __pyx_t_14 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 612, __pyx_L1_error)
      __pyx_t_9 = (__pyx_t_14 == 1);
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":613
 *                     values = None
 *                 elif len(values) == 1:
 *                     values = list(values)[0]             # <<<<<<<<<<<<<<
 *                 kwargs[name] = values
 * 
*/
        __pyx_t_4 = PySequence_List(__pyx_v_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 613, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_t_4, 0, long, 1, __Pyx_PyLong_From_long, 1, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 613, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":612
 *                 elif not values:
 *                     values = None
 *                 elif len(values) == 1:             # <<<<<<<<<<<<<<
 *                     values = list(values)[0]
 *                 kwargs[name] = values
*/
      }
      __pyx_L16:;

      /* "Cython/Compiler/Code.py":614
 *                 elif len(values) == 1:
 *                     values = list(values)[0]
 *                 kwargs[name] = values             # <<<<<<<<<<<<<<
 * 
 *         if proto is not None:
*/
      if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_values) < 0))) __PYX_ERR(0, 614, __pyx_L1_error)
      __pyx_L13_continue:;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":587
 *         proto, impl, tags = utilities[util_code_name]
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             if "substitute" in tags and "tempita" in tags["substitute"]:
 *                 if not issubclass(cls, TempitaUtilityCode):
*/
  }

  /* "Cython/Compiler/Code.py":616
 *                 kwargs[name] = values
 * 
 *         if proto is not None:             # <<<<<<<<<<<<<<
 *             kwargs['proto'] = proto
 *         if impl is not None:
*/
  __pyx_t_9 = (__pyx_v_proto != Py_None);
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":617
 * 
 *         if proto is not None:
 *             kwargs['proto'] = proto             # <<<<<<<<<<<<<<
 *         if impl is not None:
 *             kwargs['impl'] = impl
*/
    if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_proto, __pyx_v_proto) < 0))) __PYX_ERR(0, 617, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":616
 *                 kwargs[name] = values
 * 
 *         if proto is not None:             # <<<<<<<<<<<<<<
 *             kwargs['proto'] = proto
 *         if impl is not None:
*/
  }

  /* "Cython/Compiler/Code.py":618
 *         if proto is not None:
 *             kwargs['proto'] = proto
 *         if impl is not None:             # <<<<<<<<<<<<<<
 *             kwargs['impl'] = impl
 * 
*/
  __pyx_t_9 = (__pyx_v_impl != Py_None);
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":619
 *             kwargs['proto'] = proto
 *         if impl is not None:
 *             kwargs['impl'] = impl             # <<<<<<<<<<<<<<
 * 
 *         if 'name' not in kwargs:
*/
    if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_impl, __pyx_v_impl) < 0))) __PYX_ERR(0, 619, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":618
 *         if proto is not None:
 *             kwargs['proto'] = proto
 *         if impl is not None:             # <<<<<<<<<<<<<<
 *             kwargs['impl'] = impl
 * 
*/
  }

  /* "Cython/Compiler/Code.py":621
 *             kwargs['impl'] = impl
 * 
 *         if 'name' not in kwargs:             # <<<<<<<<<<<<<<
 *             kwargs['name'] = util_code_name
 * 
*/
  __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_mstate_global->__pyx_n_u_name, __pyx_v_kwargs, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 621, __pyx_L1_error)
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":622
 * 
 *         if 'name' not in kwargs:
 *             kwargs['name'] = util_code_name             # <<<<<<<<<<<<<<
 * 
 *         if 'file' not in kwargs and from_file:
*/
    if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_util_code_name) < 0))) __PYX_ERR(0, 622, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":621
 *             kwargs['impl'] = impl
 * 
 *         if 'name' not in kwargs:             # <<<<<<<<<<<<<<
 *             kwargs['name'] = util_code_name
 * 
*/
  }

  /* "Cython/Compiler/Code.py":624
 *             kwargs['name'] = util_code_name
 * 
 *         if 'file' not in kwargs and from_file:             # <<<<<<<<<<<<<<
 *             kwargs['file'] = from_file
 *         return cls(**kwargs)
*/
  __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_mstate_global->__pyx_n_u_file_2, __pyx_v_kwargs, Py_NE)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 624, __pyx_L1_error)
  if (__pyx_t_1) {
  } else {
    __pyx_t_9 = __pyx_t_1;
    goto __pyx_L37_bool_binop_done;
  }
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_from_file); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 624, __pyx_L1_error)
  __pyx_t_9 = __pyx_t_1;
  __pyx_L37_bool_binop_done:;
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":625
 * 
 *         if 'file' not in kwargs and from_file:
 *             kwargs['file'] = from_file             # <<<<<<<<<<<<<<
 *         return cls(**kwargs)
 * 
*/
    if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_file_2, __pyx_v_from_file) < 0))) __PYX_ERR(0, 625, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":624
 *             kwargs['name'] = util_code_name
 * 
 *         if 'file' not in kwargs and from_file:             # <<<<<<<<<<<<<<
 *             kwargs['file'] = from_file
 *         return cls(**kwargs)
*/
  }

  /* "Cython/Compiler/Code.py":626
 *         if 'file' not in kwargs and from_file:
 *             kwargs['file'] = from_file
 *         return cls(**kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_cls), __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":574
 *         return utilities
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load(cls, util_code_name, from_file, **kwargs):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_utilities);
  __Pyx_XDECREF(__pyx_v_proto);
  __Pyx_XDECREF(__pyx_v_impl);
  __Pyx_XDECREF(__pyx_v_tags);
  __Pyx_XDECREF(__pyx_v_orig_kwargs);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_values);
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_dep);
  __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_dep);
  __Pyx_XDECREF(__pyx_v_util_code_name);
  __Pyx_XDECREF(__pyx_v_from_file);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":628
 *         return cls(**kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file, __cache={}):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_cached(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_cached, "\n        Calls .load(), but using a per-type cache based on utility name and file name.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_cached = {"load_cached", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_cached, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_cached};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_cached(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_utility_code_name = 0;
  PyObject *__pyx_v_from_file = 0;
  PyObject *__pyx_v__UtilityCodeBase__cache = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_cached (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_utility_code_name,&__pyx_mstate_global->__pyx_n_u_from_file,&__pyx_mstate_global->__pyx_n_u_UtilityCodeBase__cache,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 628, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "load_cached", 0) < (0)) __PYX_ERR(0, 628, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__12);
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 3, i); __PYX_ERR(0, 628, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 628, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 628, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__12);
    }
    __pyx_v_utility_code_name = values[0];
    __pyx_v_from_file = values[1];
    __pyx_v__UtilityCodeBase__cache = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 628, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_cached", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_cached(((PyTypeObject*)__pyx_v_cls), __pyx_v_utility_code_name, __pyx_v_from_file, __pyx_v__UtilityCodeBase__cache);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_cached(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_utility_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v__UtilityCodeBase__cache) {
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_code = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("load_cached", 0);

  /* "Cython/Compiler/Code.py":633
 *         Calls .load(), but using a per-type cache based on utility name and file name.
 *         """
 *         key = (utility_code_name, from_file, cls)             # <<<<<<<<<<<<<<
 *         try:
 *             return __cache[key]
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_utility_code_name);
  __Pyx_GIVEREF(__pyx_v_utility_code_name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_utility_code_name) != (0)) __PYX_ERR(0, 633, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_from_file);
  __Pyx_GIVEREF(__pyx_v_from_file);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_from_file) != (0)) __PYX_ERR(0, 633, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_cls);
  __Pyx_GIVEREF((PyObject *)__pyx_v_cls);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_cls)) != (0)) __PYX_ERR(0, 633, __pyx_L1_error);
  __pyx_v_key = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":634
 *         """
 *         key = (utility_code_name, from_file, cls)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":635
 *         key = (utility_code_name, from_file, cls)
 *         try:
 *             return __cache[key]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             pass
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v__UtilityCodeBase__cache, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L7_try_return;

      /* "Cython/Compiler/Code.py":634
 *         """
 *         key = (utility_code_name, from_file, cls)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
*/
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":636
 *         try:
 *             return __cache[key]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file)
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "Cython/Compiler/Code.py":634
 *         """
 *         key = (utility_code_name, from_file, cls)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L0;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
  }

  /* "Cython/Compiler/Code.py":638
 *         except KeyError:
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file)             # <<<<<<<<<<<<<<
 *         return code
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_cls);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_utility_code_name, __pyx_v_from_file};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_load, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_code = __pyx_t_1;
  if (unlikely((PyObject_SetItem(__pyx_v__UtilityCodeBase__cache, __pyx_v_key, __pyx_t_1) < 0))) __PYX_ERR(0, 638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":639
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file)
 *         return code             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_code);
  __pyx_r = __pyx_v_code;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":628
 *         return cls(**kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file, __cache={}):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_cached", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_code);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":641
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_11load_as_string(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_10load_as_string, "\n        Load a utility code as a string. Returns (proto, implementation).\n\n        If 'include_requires=True', concatenates all requirements before the actually\n        requested utility code, separately for proto and impl part.\n\n        In a lot of cases it may be better to use regular \"load\" and \"CCodeWriter.put_code_here\"\n        since that is able to apply the code transformations to the code too.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_11load_as_string = {"load_as_string", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_11load_as_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_10load_as_string};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_11load_as_string(PyObject *__pyx_v_cls, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_util_code_name = 0;
  PyObject *__pyx_v_from_file = 0;
  PyObject *__pyx_v_include_requires = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_as_string (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_util_code_name,&__pyx_mstate_global->__pyx_n_u_from_file,&__pyx_mstate_global->__pyx_n_u_include_requires,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 641, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 641, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 641, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 641, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "load_as_string", 1) < (0)) __PYX_ERR(0, 641, __pyx_L3_error)

      /* "Cython/Compiler/Code.py":642
 * 
 *     @classmethod
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load a utility code as a string. Returns (proto, implementation).
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("load_as_string", 0, 2, 3, i); __PYX_ERR(0, 641, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 641, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 641, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 641, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_util_code_name = values[0];
    __pyx_v_from_file = values[1];
    __pyx_v_include_requires = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load_as_string", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 641, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_as_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_10load_as_string(((PyTypeObject*)__pyx_v_cls), __pyx_v_util_code_name, __pyx_v_from_file, __pyx_v_include_requires, __pyx_v_kwargs);

  /* "Cython/Compiler/Code.py":641
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):
 *         """
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":659
 * 
 *         protos, impls = [], []
 *         def prepend(util_code):             # <<<<<<<<<<<<<<
 *             if util_code.requires:
 *                 for dep in util_code.requires:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_1prepend(PyObject *__pyx_self, PyObject *__pyx_v_util_code); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_1prepend = {"prepend", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_1prepend, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_1prepend(PyObject *__pyx_self, PyObject *__pyx_v_util_code) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("prepend (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_prepend(__pyx_self, ((PyObject *)__pyx_v_util_code));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_prepend(PyObject *__pyx_self, PyObject *__pyx_v_util_code) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *__pyx_outer_scope;
  PyObject *__pyx_v_dep = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("prepend", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "Cython/Compiler/Code.py":660
 *         protos, impls = [], []
 *         def prepend(util_code):
 *             if util_code.requires:             # <<<<<<<<<<<<<<
 *                 for dep in util_code.requires:
 *                     prepend(dep)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code, __pyx_mstate_global->__pyx_n_u_requires); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":661
 *         def prepend(util_code):
 *             if util_code.requires:
 *                 for dep in util_code.requires:             # <<<<<<<<<<<<<<
 *                     prepend(dep)
 *             if util_code.proto:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code, __pyx_mstate_global->__pyx_n_u_requires); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 661, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 661, __pyx_L1_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_4;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 661, __pyx_L1_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4);
          #endif
          ++__pyx_t_4;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error)
      } else {
        __pyx_t_1 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 661, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_dep, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":662
 *             if util_code.requires:
 *                 for dep in util_code.requires:
 *                     prepend(dep)             # <<<<<<<<<<<<<<
 *             if util_code.proto:
 *                 protos.append(util_code.format_code(util_code.proto))
*/
      if (unlikely(!__pyx_cur_scope->__pyx_v_prepend)) { __Pyx_RaiseClosureNameError("prepend"); __PYX_ERR(0, 662, __pyx_L1_error) }
      __pyx_t_1 = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_prepend(__pyx_cur_scope->__pyx_v_prepend, __pyx_v_dep); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 662, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":661
 *         def prepend(util_code):
 *             if util_code.requires:
 *                 for dep in util_code.requires:             # <<<<<<<<<<<<<<
 *                     prepend(dep)
 *             if util_code.proto:
*/
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":660
 *         protos, impls = [], []
 *         def prepend(util_code):
 *             if util_code.requires:             # <<<<<<<<<<<<<<
 *                 for dep in util_code.requires:
 *                     prepend(dep)
*/
  }

  /* "Cython/Compiler/Code.py":663
 *                 for dep in util_code.requires:
 *                     prepend(dep)
 *             if util_code.proto:             # <<<<<<<<<<<<<<
 *                 protos.append(util_code.format_code(util_code.proto))
 *             if util_code.impl:
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code, __pyx_mstate_global->__pyx_n_u_proto); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":664
 *                     prepend(dep)
 *             if util_code.proto:
 *                 protos.append(util_code.format_code(util_code.proto))             # <<<<<<<<<<<<<<
 *             if util_code.impl:
 *                 impls.append(util_code.format_code(util_code.impl))
*/
    if (unlikely(!__pyx_cur_scope->__pyx_v_protos)) { __Pyx_RaiseClosureNameError("protos"); __PYX_ERR(0, 664, __pyx_L1_error) }
    if (unlikely(__pyx_cur_scope->__pyx_v_protos == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
      __PYX_ERR(0, 664, __pyx_L1_error)
    }
    __pyx_t_1 = __pyx_v_util_code;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code, __pyx_mstate_global->__pyx_n_u_proto); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format_code, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 664, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_protos, __pyx_t_3); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 664, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":663
 *                 for dep in util_code.requires:
 *                     prepend(dep)
 *             if util_code.proto:             # <<<<<<<<<<<<<<
 *                 protos.append(util_code.format_code(util_code.proto))
 *             if util_code.impl:
*/
  }

  /* "Cython/Compiler/Code.py":665
 *             if util_code.proto:
 *                 protos.append(util_code.format_code(util_code.proto))
 *             if util_code.impl:             # <<<<<<<<<<<<<<
 *                 impls.append(util_code.format_code(util_code.impl))
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code, __pyx_mstate_global->__pyx_n_u_impl); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":666
 *                 protos.append(util_code.format_code(util_code.proto))
 *             if util_code.impl:
 *                 impls.append(util_code.format_code(util_code.impl))             # <<<<<<<<<<<<<<
 * 
 *         prepend(util)
*/
    if (unlikely(!__pyx_cur_scope->__pyx_v_impls)) { __Pyx_RaiseClosureNameError("impls"); __PYX_ERR(0, 666, __pyx_L1_error) }
    if (unlikely(__pyx_cur_scope->__pyx_v_impls == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
      __PYX_ERR(0, 666, __pyx_L1_error)
    }
    __pyx_t_6 = __pyx_v_util_code;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code, __pyx_mstate_global->__pyx_n_u_impl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format_code, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_impls, __pyx_t_3); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 666, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":665
 *             if util_code.proto:
 *                 protos.append(util_code.format_code(util_code.proto))
 *             if util_code.impl:             # <<<<<<<<<<<<<<
 *                 impls.append(util_code.format_code(util_code.impl))
 * 
*/
  }

  /* "Cython/Compiler/Code.py":659
 * 
 *         protos, impls = [], []
 *         def prepend(util_code):             # <<<<<<<<<<<<<<
 *             if util_code.requires:
 *                 for dep in util_code.requires:
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_as_string.prepend", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dep);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":641
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):
 *         """
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_10load_as_string(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_util_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_include_requires, PyObject *__pyx_v_kwargs) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *__pyx_cur_scope;
  PyObject *__pyx_v_util = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("load_as_string", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 641, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }

  /* "Cython/Compiler/Code.py":652
 *         since that is able to apply the code transformations to the code too.
 *         """
 *         util = cls.load(util_code_name, from_file, **kwargs)             # <<<<<<<<<<<<<<
 * 
 *         if not include_requires:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_mstate_global->__pyx_n_u_load); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_util_code_name, __pyx_v_from_file};
    __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_util = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":654
 *         util = cls.load(util_code_name, from_file, **kwargs)
 * 
 *         if not include_requires:             # <<<<<<<<<<<<<<
 *             return (util.format_code(util.proto),
 *                     util.format_code(util.impl))
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_include_requires); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 654, __pyx_L1_error)
  __pyx_t_7 = (!__pyx_t_6);
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":655
 * 
 *         if not include_requires:
 *             return (util.format_code(util.proto),             # <<<<<<<<<<<<<<
 *                     util.format_code(util.impl))
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __pyx_v_util;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_mstate_global->__pyx_n_u_proto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format_code, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 655, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }

    /* "Cython/Compiler/Code.py":656
 *         if not include_requires:
 *             return (util.format_code(util.proto),
 *                     util.format_code(util.impl))             # <<<<<<<<<<<<<<
 * 
 *         protos, impls = [], []
*/
    __pyx_t_3 = __pyx_v_util;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_mstate_global->__pyx_n_u_impl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format_code, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 656, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }

    /* "Cython/Compiler/Code.py":655
 * 
 *         if not include_requires:
 *             return (util.format_code(util.proto),             # <<<<<<<<<<<<<<
 *                     util.format_code(util.impl))
 * 
*/
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 655, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 655, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":654
 *         util = cls.load(util_code_name, from_file, **kwargs)
 * 
 *         if not include_requires:             # <<<<<<<<<<<<<<
 *             return (util.format_code(util.proto),
 *                     util.format_code(util.impl))
*/
  }

  /* "Cython/Compiler/Code.py":658
 *                     util.format_code(util.impl))
 * 
 *         protos, impls = [], []             # <<<<<<<<<<<<<<
 *         def prepend(util_code):
 *             if util_code.requires:
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_cur_scope->__pyx_v_protos = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_cur_scope->__pyx_v_impls = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":659
 * 
 *         protos, impls = [], []
 *         def prepend(util_code):             # <<<<<<<<<<<<<<
 *             if util_code.requires:
 *                 for dep in util_code.requires:
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_1prepend, 0, __pyx_mstate_global->__pyx_n_u_load_as_string_locals_prepend, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_cur_scope->__pyx_v_prepend = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":668
 *                 impls.append(util_code.format_code(util_code.impl))
 * 
 *         prepend(util)             # <<<<<<<<<<<<<<
 *         return "".join(protos), "".join(impls)
 * 
*/
  __pyx_t_4 = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14load_as_string_prepend(__pyx_cur_scope->__pyx_v_prepend, __pyx_v_util); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":669
 * 
 *         prepend(util)
 *         return "".join(protos), "".join(impls)             # <<<<<<<<<<<<<<
 * 
 *     def format_code(self, code_string, replace_empty_lines=re.compile(r'\n\n+').sub):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_protos;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__9, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_impls;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_1 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__9, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 669, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 669, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":641
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_as_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_util);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":671
 *         return "".join(protos), "".join(impls)
 * 
 *     def format_code(self, code_string, replace_empty_lines=re.compile(r'\n\n+').sub):             # <<<<<<<<<<<<<<
 *         """
 *         Format a code section for output.
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13format_code(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, PyObject *__pyx_v_code_string, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code *__pyx_optional_args) {
  PyObject *__pyx_v_replace_empty_lines = __pyx_mstate_global->__pyx_k__13;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("format_code", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_replace_empty_lines = __pyx_optional_args->replace_empty_lines;
    }
  }
  __Pyx_INCREF(__pyx_v_code_string);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_format_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13format_code)) {
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_code_string, __pyx_v_replace_empty_lines};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 671, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "Cython/Compiler/Code.py":675
 *         Format a code section for output.
 *         """
 *         if code_string:             # <<<<<<<<<<<<<<
 *             code_string = replace_empty_lines('\n', code_string.strip()) + '\n\n'
 *         return code_string
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_code_string); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 675, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":676
 *         """
 *         if code_string:
 *             code_string = replace_empty_lines('\n', code_string.strip()) + '\n\n'             # <<<<<<<<<<<<<<
 *         return code_string
 * 
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_v_replace_empty_lines);
    __pyx_t_4 = __pyx_v_replace_empty_lines; 
    __pyx_t_7 = __pyx_v_code_string;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 676, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__3, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 676, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_4 = PyNumber_Add(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_code_string, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":675
 *         Format a code section for output.
 *         """
 *         if code_string:             # <<<<<<<<<<<<<<
 *             code_string = replace_empty_lines('\n', code_string.strip()) + '\n\n'
 *         return code_string
*/
  }

  /* "Cython/Compiler/Code.py":677
 *         if code_string:
 *             code_string = replace_empty_lines('\n', code_string.strip()) + '\n\n'
 *         return code_string             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_code_string);
  __pyx_r = __pyx_v_code_string;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":671
 *         return "".join(protos), "".join(impls)
 * 
 *     def format_code(self, code_string, replace_empty_lines=re.compile(r'\n\n+').sub):             # <<<<<<<<<<<<<<
 *         """
 *         Format a code section for output.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.format_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_code_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13format_code(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_12format_code, "\n        Format a code section for output.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_13format_code = {"format_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13format_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_12format_code};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13format_code(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_code_string = 0;
  PyObject *__pyx_v_replace_empty_lines = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("format_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_code_string,&__pyx_mstate_global->__pyx_n_u_replace_empty_lines,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 671, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 671, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 671, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "format_code", 0) < (0)) __PYX_ERR(0, 671, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__13);
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("format_code", 0, 1, 2, i); __PYX_ERR(0, 671, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 671, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 671, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__13);
    }
    __pyx_v_code_string = values[0];
    __pyx_v_replace_empty_lines = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("format_code", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 671, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.format_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_12format_code(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *)__pyx_v_self), __pyx_v_code_string, __pyx_v_replace_empty_lines);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_12format_code(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, PyObject *__pyx_v_code_string, PyObject *__pyx_v_replace_empty_lines) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("format_code", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.replace_empty_lines = __pyx_v_replace_empty_lines;
  __pyx_t_1 = __pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCodeBase->format_code(__pyx_v_self, __pyx_v_code_string, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.format_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":679
 *         return code_string
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14__repr__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14__repr__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4[5];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "Cython/Compiler/Code.py":680
 * 
 *     def __repr__(self):
 *         return "<%s(%s)>" % (type(self).__name__, self.name)             # <<<<<<<<<<<<<<
 * 
 *     def get_tree(self, **kwargs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_;
  __pyx_t_4[1] = __pyx_t_2;
  __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__15;
  __pyx_t_4[3] = __pyx_t_3;
  __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u__16;
  __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":679
 *         return code_string
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":682
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_17get_tree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_17get_tree = {"get_tree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_17get_tree, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_17get_tree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_tree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("get_tree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("get_tree", __pyx_kwds) == -1)) return NULL;
  }
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_16get_tree(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_16get_tree(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_tree", 0);

  /* "Cython/Compiler/Code.py":683
 * 
 *     def get_tree(self, **kwargs):
 *         return None             # <<<<<<<<<<<<<<
 * 
 *     def get_shared_library_scope(self, **kwargs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":682
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":685
 *         return None
 * 
 *     def get_shared_library_scope(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_19get_shared_library_scope(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_19get_shared_library_scope = {"get_shared_library_scope", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_19get_shared_library_scope, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_19get_shared_library_scope(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_shared_library_scope (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("get_shared_library_scope", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (__pyx_kwds_len > 0) {
    if (unlikely(__Pyx_CheckKeywordStrings("get_shared_library_scope", __pyx_kwds) == -1)) return NULL;
  }
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_18get_shared_library_scope(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *)__pyx_v_self), __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_18get_shared_library_scope(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_shared_library_scope", 0);

  /* "Cython/Compiler/Code.py":686
 * 
 *     def get_shared_library_scope(self, **kwargs):
 *         return None             # <<<<<<<<<<<<<<
 * 
 *     def __deepcopy__(self, memodict=None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":685
 *         return None
 * 
 *     def get_shared_library_scope(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":688
 *         return None
 * 
 *     def __deepcopy__(self, memodict=None):             # <<<<<<<<<<<<<<
 *         # No need to deep-copy utility code since it's essentially immutable.
 *         return self
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_21__deepcopy__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_21__deepcopy__ = {"__deepcopy__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_21__deepcopy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_21__deepcopy__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_memodict = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_memodict,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 688, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 688, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__deepcopy__", 0) < (0)) __PYX_ERR(0, 688, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 688, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_memodict = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__deepcopy__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 688, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_20__deepcopy__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *)__pyx_v_self), __pyx_v_memodict);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_20__deepcopy__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memodict) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__deepcopy__", 0);

  /* "Cython/Compiler/Code.py":690
 *     def __deepcopy__(self, memodict=None):
 *         # No need to deep-copy utility code since it's essentially immutable.
 *         return self             # <<<<<<<<<<<<<<
 * 
 * @dataclass
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":688
 *         return None
 * 
 *     def __deepcopy__(self, memodict=None):             # <<<<<<<<<<<<<<
 *         # No need to deep-copy utility code since it's essentially immutable.
 *         return self
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":721
 *     code_parts = ["proto", "export", "impl", "init", "cleanup", "module_state_decls", "module_state_traverse", "module_state_clear"]
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,             # <<<<<<<<<<<<<<
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
*/

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_proto = 0;
  PyObject *__pyx_v_impl = 0;
  PyObject *__pyx_v_init = 0;
  PyObject *__pyx_v_cleanup = 0;
  PyObject *__pyx_v_module_state_decls = 0;
  PyObject *__pyx_v_module_state_traverse = 0;
  PyObject *__pyx_v_module_state_clear = 0;
  PyObject *__pyx_v_requires = 0;
  PyObject *__pyx_v_proto_block = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_file = 0;
  PyObject *__pyx_v_export = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_proto,&__pyx_mstate_global->__pyx_n_u_impl,&__pyx_mstate_global->__pyx_n_u_init,&__pyx_mstate_global->__pyx_n_u_cleanup,&__pyx_mstate_global->__pyx_n_u_module_state_decls,&__pyx_mstate_global->__pyx_n_u_module_state_traverse,&__pyx_mstate_global->__pyx_n_u_module_state_clear,&__pyx_mstate_global->__pyx_n_u_requires,&__pyx_mstate_global->__pyx_n_u_proto_block,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_file_2,&__pyx_mstate_global->__pyx_n_u_export,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 721, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_VARARGS(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_VARARGS(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_VARARGS(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_VARARGS(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_VARARGS(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_VARARGS(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_VARARGS(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_VARARGS(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 721, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "Cython/Compiler/Code.py":722
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,
 *                  module_state_decls=None, module_state_traverse=None,             # <<<<<<<<<<<<<<
 *                  module_state_clear=None, requires=None,
 *                  proto_block='utility_code_proto', name=None, file=None, export=None):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "Cython/Compiler/Code.py":723
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,             # <<<<<<<<<<<<<<
 *                  proto_block='utility_code_proto', name=None, file=None, export=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_utility_code_proto));

      /* "Cython/Compiler/Code.py":724
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
 *                  proto_block='utility_code_proto', name=None, file=None, export=None):             # <<<<<<<<<<<<<<
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 *         self.proto = proto
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_VARARGS(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_VARARGS(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_VARARGS(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_VARARGS(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_VARARGS(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_VARARGS(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_VARARGS(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_VARARGS(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "Cython/Compiler/Code.py":721
 *     code_parts = ["proto", "export", "impl", "init", "cleanup", "module_state_decls", "module_state_traverse", "module_state_clear"]
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,             # <<<<<<<<<<<<<<
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
*/
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "Cython/Compiler/Code.py":722
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,
 *                  module_state_decls=None, module_state_traverse=None,             # <<<<<<<<<<<<<<
 *                  module_state_clear=None, requires=None,
 *                  proto_block='utility_code_proto', name=None, file=None, export=None):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "Cython/Compiler/Code.py":723
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,             # <<<<<<<<<<<<<<
 *                  proto_block='utility_code_proto', name=None, file=None, export=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_utility_code_proto));

      /* "Cython/Compiler/Code.py":724
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
 *                  proto_block='utility_code_proto', name=None, file=None, export=None):             # <<<<<<<<<<<<<<
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 *         self.proto = proto
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_proto = values[0];
    __pyx_v_impl = values[1];
    __pyx_v_init = values[2];
    __pyx_v_cleanup = values[3];
    __pyx_v_module_state_decls = values[4];
    __pyx_v_module_state_traverse = values[5];
    __pyx_v_module_state_clear = values[6];
    __pyx_v_requires = values[7];
    __pyx_v_proto_block = values[8];
    __pyx_v_name = values[9];
    __pyx_v_file = values[10];
    __pyx_v_export = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 12, __pyx_nargs); __PYX_ERR(0, 721, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), __pyx_v_proto, __pyx_v_impl, __pyx_v_init, __pyx_v_cleanup, __pyx_v_module_state_decls, __pyx_v_module_state_traverse, __pyx_v_module_state_clear, __pyx_v_requires, __pyx_v_proto_block, __pyx_v_name, __pyx_v_file, __pyx_v_export);

  /* "Cython/Compiler/Code.py":721
 *     code_parts = ["proto", "export", "impl", "init", "cleanup", "module_state_decls", "module_state_traverse", "module_state_clear"]
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,             # <<<<<<<<<<<<<<
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_6Cython_8Compiler_4Code_11UtilityCode_8__init___2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "Cython/Compiler/Code.py":745
 * 
 *         # cached for use in hash and eq
 *         self._parts_tuple = tuple(getattr(self, part, None) for part in self.code_parts)             # <<<<<<<<<<<<<<
 * 
 *     def parse_export_functions(self, export_proto: str) -> list:
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8__init___genexpr(PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 745, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *) __pyx_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6Cython_8Compiler_4Code_11UtilityCode_8__init___2generator2, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_init___locals_genexpr, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code); if (unlikely(!gen)) __PYX_ERR(0, 745, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.__init__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_6Cython_8Compiler_4Code_11UtilityCode_8__init___2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(0, 745, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 745, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 745, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 745, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 745, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 745, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 745, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_part);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_part, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 745, __pyx_L1_error) }
    __pyx_t_4 = ((PyObject *)__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_GetAttr3(__pyx_t_4, __pyx_cur_scope->__pyx_v_part, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 745, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":721
 *     code_parts = ["proto", "export", "impl", "init", "cleanup", "module_state_decls", "module_state_traverse", "module_state_clear"]
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,             # <<<<<<<<<<<<<<
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
*/

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode___init__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_proto, PyObject *__pyx_v_impl, PyObject *__pyx_v_init, PyObject *__pyx_v_cleanup, PyObject *__pyx_v_module_state_decls, PyObject *__pyx_v_module_state_traverse, PyObject *__pyx_v_module_state_clear, PyObject *__pyx_v_requires, PyObject *__pyx_v_proto_block, PyObject *__pyx_v_name, PyObject *__pyx_v_file, PyObject *__pyx_v_export) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *__pyx_cur_scope;
  PyObject *__pyx_gb_6Cython_8Compiler_4Code_11UtilityCode_8__init___2generator2 = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 721, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);

  /* "Cython/Compiler/Code.py":726
 *                  proto_block='utility_code_proto', name=None, file=None, export=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 *         self.proto = proto             # <<<<<<<<<<<<<<
 *         self.impl = impl
 *         self.init = init
*/
  __Pyx_INCREF(__pyx_v_proto);
  __Pyx_GIVEREF(__pyx_v_proto);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->proto);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->proto);
  __pyx_cur_scope->__pyx_v_self->proto = __pyx_v_proto;

  /* "Cython/Compiler/Code.py":727
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 *         self.proto = proto
 *         self.impl = impl             # <<<<<<<<<<<<<<
 *         self.init = init
 *         self.cleanup = cleanup
*/
  __Pyx_INCREF(__pyx_v_impl);
  __Pyx_GIVEREF(__pyx_v_impl);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->impl);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->impl);
  __pyx_cur_scope->__pyx_v_self->impl = __pyx_v_impl;

  /* "Cython/Compiler/Code.py":728
 *         self.proto = proto
 *         self.impl = impl
 *         self.init = init             # <<<<<<<<<<<<<<
 *         self.cleanup = cleanup
 *         self.module_state_decls = module_state_decls
*/
  __Pyx_INCREF(__pyx_v_init);
  __Pyx_GIVEREF(__pyx_v_init);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->init);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->init);
  __pyx_cur_scope->__pyx_v_self->init = __pyx_v_init;

  /* "Cython/Compiler/Code.py":729
 *         self.impl = impl
 *         self.init = init
 *         self.cleanup = cleanup             # <<<<<<<<<<<<<<
 *         self.module_state_decls = module_state_decls
 *         self.module_state_traverse = module_state_traverse
*/
  __Pyx_INCREF(__pyx_v_cleanup);
  __Pyx_GIVEREF(__pyx_v_cleanup);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->cleanup);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->cleanup);
  __pyx_cur_scope->__pyx_v_self->cleanup = __pyx_v_cleanup;

  /* "Cython/Compiler/Code.py":730
 *         self.init = init
 *         self.cleanup = cleanup
 *         self.module_state_decls = module_state_decls             # <<<<<<<<<<<<<<
 *         self.module_state_traverse = module_state_traverse
 *         self.module_state_clear = module_state_clear
*/
  __Pyx_INCREF(__pyx_v_module_state_decls);
  __Pyx_GIVEREF(__pyx_v_module_state_decls);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->module_state_decls);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->module_state_decls);
  __pyx_cur_scope->__pyx_v_self->module_state_decls = __pyx_v_module_state_decls;

  /* "Cython/Compiler/Code.py":731
 *         self.cleanup = cleanup
 *         self.module_state_decls = module_state_decls
 *         self.module_state_traverse = module_state_traverse             # <<<<<<<<<<<<<<
 *         self.module_state_clear = module_state_clear
 *         self.requires = requires
*/
  __Pyx_INCREF(__pyx_v_module_state_traverse);
  __Pyx_GIVEREF(__pyx_v_module_state_traverse);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->module_state_traverse);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->module_state_traverse);
  __pyx_cur_scope->__pyx_v_self->module_state_traverse = __pyx_v_module_state_traverse;

  /* "Cython/Compiler/Code.py":732
 *         self.module_state_decls = module_state_decls
 *         self.module_state_traverse = module_state_traverse
 *         self.module_state_clear = module_state_clear             # <<<<<<<<<<<<<<
 *         self.requires = requires
 *         self._cache = {}
*/
  __Pyx_INCREF(__pyx_v_module_state_clear);
  __Pyx_GIVEREF(__pyx_v_module_state_clear);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->module_state_clear);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->module_state_clear);
  __pyx_cur_scope->__pyx_v_self->module_state_clear = __pyx_v_module_state_clear;

  /* "Cython/Compiler/Code.py":733
 *         self.module_state_traverse = module_state_traverse
 *         self.module_state_clear = module_state_clear
 *         self.requires = requires             # <<<<<<<<<<<<<<
 *         self._cache = {}
 *         self.specialize_list = []
*/
  __Pyx_INCREF(__pyx_v_requires);
  __Pyx_GIVEREF(__pyx_v_requires);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->__pyx_requires);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->__pyx_requires);
  __pyx_cur_scope->__pyx_v_self->__pyx_requires = __pyx_v_requires;

  /* "Cython/Compiler/Code.py":734
 *         self.module_state_clear = module_state_clear
 *         self.requires = requires
 *         self._cache = {}             # <<<<<<<<<<<<<<
 *         self.specialize_list = []
 *         self.proto_block = proto_block
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->_cache);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->_cache);
  __pyx_cur_scope->__pyx_v_self->_cache = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":735
 *         self.requires = requires
 *         self._cache = {}
 *         self.specialize_list = []             # <<<<<<<<<<<<<<
 *         self.proto_block = proto_block
 *         self.name = name
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->specialize_list);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->specialize_list);
  __pyx_cur_scope->__pyx_v_self->specialize_list = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":736
 *         self._cache = {}
 *         self.specialize_list = []
 *         self.proto_block = proto_block             # <<<<<<<<<<<<<<
 *         self.name = name
 *         self.file = file
*/
  __Pyx_INCREF(__pyx_v_proto_block);
  __Pyx_GIVEREF(__pyx_v_proto_block);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->proto_block);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->proto_block);
  __pyx_cur_scope->__pyx_v_self->proto_block = __pyx_v_proto_block;

  /* "Cython/Compiler/Code.py":737
 *         self.specialize_list = []
 *         self.proto_block = proto_block
 *         self.name = name             # <<<<<<<<<<<<<<
 *         self.file = file
 *         self.export = export
*/
  __Pyx_INCREF(__pyx_v_name);
  __Pyx_GIVEREF(__pyx_v_name);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->name);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->name);
  __pyx_cur_scope->__pyx_v_self->name = __pyx_v_name;

  /* "Cython/Compiler/Code.py":738
 *         self.proto_block = proto_block
 *         self.name = name
 *         self.file = file             # <<<<<<<<<<<<<<
 *         self.export = export
 *         self.shared_utility_functions = self.parse_export_functions(export) if export else []
*/
  __Pyx_INCREF(__pyx_v_file);
  __Pyx_GIVEREF(__pyx_v_file);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->file);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->file);
  __pyx_cur_scope->__pyx_v_self->file = __pyx_v_file;

  /* "Cython/Compiler/Code.py":739
 *         self.name = name
 *         self.file = file
 *         self.export = export             # <<<<<<<<<<<<<<
 *         self.shared_utility_functions = self.parse_export_functions(export) if export else []
 *         if export:
*/
  __Pyx_INCREF(__pyx_v_export);
  __Pyx_GIVEREF(__pyx_v_export);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->__pyx_export);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->__pyx_export);
  __pyx_cur_scope->__pyx_v_self->__pyx_export = __pyx_v_export;

  /* "Cython/Compiler/Code.py":740
 *         self.file = file
 *         self.export = export
 *         self.shared_utility_functions = self.parse_export_functions(export) if export else []             # <<<<<<<<<<<<<<
 *         if export:
 *             self._validate_suitable_for_sharing()
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_export); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 740, __pyx_L1_error)
  if (__pyx_t_2) {
    __pyx_t_4 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_export};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_parse_export_functions, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_3))) __PYX_ERR(0, 740, __pyx_L1_error)
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->shared_utility_functions);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->shared_utility_functions);
  __pyx_cur_scope->__pyx_v_self->shared_utility_functions = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":741
 *         self.export = export
 *         self.shared_utility_functions = self.parse_export_functions(export) if export else []
 *         if export:             # <<<<<<<<<<<<<<
 *             self._validate_suitable_for_sharing()
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_export); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 741, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":742
 *         self.shared_utility_functions = self.parse_export_functions(export) if export else []
 *         if export:
 *             self._validate_suitable_for_sharing()             # <<<<<<<<<<<<<<
 * 
 *         # cached for use in hash and eq
*/
    __pyx_t_3 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_validate_suitable_for_sharing, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":741
 *         self.export = export
 *         self.shared_utility_functions = self.parse_export_functions(export) if export else []
 *         if export:             # <<<<<<<<<<<<<<
 *             self._validate_suitable_for_sharing()
 * 
*/
  }

  /* "Cython/Compiler/Code.py":745
 * 
 *         # cached for use in hash and eq
 *         self._parts_tuple = tuple(getattr(self, part, None) for part in self.code_parts)             # <<<<<<<<<<<<<<
 * 
 *     def parse_export_functions(self, export_proto: str) -> list:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_mstate_global->__pyx_n_u_code_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8__init___genexpr(((PyObject*)__pyx_cur_scope), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_self->_parts_tuple);
  __Pyx_DECREF(__pyx_cur_scope->__pyx_v_self->_parts_tuple);
  __pyx_cur_scope->__pyx_v_self->_parts_tuple = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":721
 *     code_parts = ["proto", "export", "impl", "init", "cleanup", "module_state_decls", "module_state_traverse", "module_state_clear"]
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,             # <<<<<<<<<<<<<<
 *                  module_state_decls=None, module_state_traverse=None,
 *                  module_state_clear=None, requires=None,
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_gb_6Cython_8Compiler_4Code_11UtilityCode_8__init___2generator2);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":747
 *         self._parts_tuple = tuple(getattr(self, part, None) for part in self.code_parts)
 * 
 *     def parse_export_functions(self, export_proto: str) -> list:             # <<<<<<<<<<<<<<
 * 
 *         assert '//' not in export_proto and '/[inserted by cython to avoid comment start]*' not in export_proto and '*[inserted by cython to avoid comment closer]/' not in export_proto, \
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_3parse_export_functions(PyObject *__pyx_v_self, PyObject *__pyx_v_export_proto); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_3parse_export_functions = {"parse_export_functions", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_3parse_export_functions, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_3parse_export_functions(PyObject *__pyx_v_self, PyObject *__pyx_v_export_proto) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("parse_export_functions (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_export_proto), (&PyUnicode_Type), 0, "export_proto", 2))) __PYX_ERR(0, 747, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_2parse_export_functions(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject*)__pyx_v_export_proto));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_2parse_export_functions(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_export_proto) {
  PyObject *__pyx_v_parsed_protos = NULL;
  PyObject *__pyx_v_proto_regex = NULL;
  PyObject *__pyx_v_proto = NULL;
  PyObject *__pyx_v_matched = NULL;
  PyObject *__pyx_v_ret_type = NULL;
  PyObject *__pyx_v_func_name = NULL;
  PyObject *__pyx_v_func_params = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5[4];
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  size_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *(*__pyx_t_13)(PyObject *);
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  int __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("parse_export_functions", 0);

  /* "Cython/Compiler/Code.py":749
 *     def parse_export_functions(self, export_proto: str) -> list:
 * 
 *         assert '//' not in export_proto and '/[inserted by cython to avoid comment start]*' not in export_proto and '*[inserted by cython to avoid comment closer]/' not in export_proto, \             # <<<<<<<<<<<<<<
 *             f'Export block must not contain comments:\n{export_proto.strip()}\n in file {self.file}'
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_2 = (__Pyx_PyUnicode_ContainsTF(__pyx_mstate_global->__pyx_kp_u__17, __pyx_v_export_proto, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 749, __pyx_L1_error)
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L3_bool_binop_done;
    }
    __pyx_t_2 = (__Pyx_PyUnicode_ContainsTF(__pyx_mstate_global->__pyx_kp_u__18, __pyx_v_export_proto, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 749, __pyx_L1_error)
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L3_bool_binop_done;
    }
    __pyx_t_2 = (__Pyx_PyUnicode_ContainsTF(__pyx_mstate_global->__pyx_kp_u__19, __pyx_v_export_proto, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 749, __pyx_L1_error)
    __pyx_t_1 = __pyx_t_2;
    __pyx_L3_bool_binop_done:;
    if (unlikely(!__pyx_t_1)) {

      /* "Cython/Compiler/Code.py":750
 * 
 *         assert '//' not in export_proto and '/[inserted by cython to avoid comment start]*' not in export_proto and '*[inserted by cython to avoid comment closer]/' not in export_proto, \
 *             f'Export block must not contain comments:\n{export_proto.strip()}\n in file {self.file}'             # <<<<<<<<<<<<<<
 * 
 *         parsed_protos = []
*/
      __pyx_t_3 = __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyUnicode_Type__strip, __pyx_v_export_proto); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 750, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_self->file, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 750, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_Export_block_must_not_contain_co;
      __pyx_t_5[1] = __pyx_t_3;
      __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u_in_file;
      __pyx_t_5[3] = __pyx_t_4;
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 4, 40 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 750, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_6, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(0, 749, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 749, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":752
 *             f'Export block must not contain comments:\n{export_proto.strip()}\n in file {self.file}'
 * 
 *         parsed_protos = []             # <<<<<<<<<<<<<<
 *         proto_regex=r'''
 *             ^static\s                                         # `static` keyword
*/
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_parsed_protos = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":753
 * 
 *         parsed_protos = []
 *         proto_regex=r'''             # <<<<<<<<<<<<<<
 *             ^static\s                                         # `static` keyword
 *             (?P<ret_type>[^;()]+[\s*])                        # return type + modifier with optional * - e.g.: int *, float, const str *, ...
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_static_s_static_keyword_P_ret_t);
  __pyx_v_proto_regex = __pyx_mstate_global->__pyx_kp_u_static_s_static_keyword_P_ret_t;

  /* "Cython/Compiler/Code.py":759
 *         '''
 * 
 *         for proto in export_proto.split(';\n'):             # <<<<<<<<<<<<<<
 *             proto = proto.strip().replace('\n', '')
 *             proto = re.sub(r'\s+', ' ', proto)
*/
  __pyx_t_6 = PyUnicode_Split(__pyx_v_export_proto, __pyx_mstate_global->__pyx_kp_u__20, -1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 759, __pyx_L1_error)
      #endif
      if (__pyx_t_7 >= __pyx_temp) break;
    }
    __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_7;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_proto, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":760
 * 
 *         for proto in export_proto.split(';\n'):
 *             proto = proto.strip().replace('\n', '')             # <<<<<<<<<<<<<<
 *             proto = re.sub(r'\s+', ' ', proto)
 * 
*/
    __pyx_t_3 = __pyx_v_proto;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 760, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[2], NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_proto, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":761
 *         for proto in export_proto.split(';\n'):
 *             proto = proto.strip().replace('\n', '')
 *             proto = re.sub(r'\s+', ' ', proto)             # <<<<<<<<<<<<<<
 * 
 *             if len(proto) == 0:
*/
    __pyx_t_3 = __pyx_v_6Cython_8Compiler_4Code_re;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_s_3, __pyx_mstate_global->__pyx_kp_u__21, __pyx_v_proto};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sub, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 761, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF_SET(__pyx_v_proto, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":763
 *             proto = re.sub(r'\s+', ' ', proto)
 * 
 *             if len(proto) == 0:             # <<<<<<<<<<<<<<
 *                 continue
 *             matched = re.match(proto_regex, proto, re.VERBOSE)
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_proto); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 763, __pyx_L1_error)
    __pyx_t_1 = (__pyx_t_9 == 0);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":764
 * 
 *             if len(proto) == 0:
 *                 continue             # <<<<<<<<<<<<<<
 *             matched = re.match(proto_regex, proto, re.VERBOSE)
 *             assert matched is not None, \
*/
      goto __pyx_L6_continue;

      /* "Cython/Compiler/Code.py":763
 *             proto = re.sub(r'\s+', ' ', proto)
 * 
 *             if len(proto) == 0:             # <<<<<<<<<<<<<<
 *                 continue
 *             matched = re.match(proto_regex, proto, re.VERBOSE)
*/
    }

    /* "Cython/Compiler/Code.py":765
 *             if len(proto) == 0:
 *                 continue
 *             matched = re.match(proto_regex, proto, re.VERBOSE)             # <<<<<<<<<<<<<<
 *             assert matched is not None, \
 *                 f"Wrong format of function definition in export block \n{proto!r}\n in {self.file}"
*/
    __pyx_t_3 = __pyx_v_6Cython_8Compiler_4Code_re;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_mstate_global->__pyx_n_u_VERBOSE); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_proto_regex, __pyx_v_proto, __pyx_t_10};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_match, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 765, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_matched, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":766
 *                 continue
 *             matched = re.match(proto_regex, proto, re.VERBOSE)
 *             assert matched is not None, \             # <<<<<<<<<<<<<<
 *                 f"Wrong format of function definition in export block \n{proto!r}\n in {self.file}"
 * 
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = (__pyx_v_matched != Py_None);
      if (unlikely(!__pyx_t_1)) {

        /* "Cython/Compiler/Code.py":767
 *             matched = re.match(proto_regex, proto, re.VERBOSE)
 *             assert matched is not None, \
 *                 f"Wrong format of function definition in export block \n{proto!r}\n in {self.file}"             # <<<<<<<<<<<<<<
 * 
 *             ret_type, func_name, func_params = matched.groups()
*/
        __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_v_proto), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 767, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_v_self->file, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 767, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_Wrong_format_of_function_definit;
        __pyx_t_5[1] = __pyx_t_6;
        __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u_in;
        __pyx_t_5[3] = __pyx_t_10;
        __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_5, 4, 53 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10));
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_3, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 766, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(0, 766, __pyx_L1_error)
    #endif

    /* "Cython/Compiler/Code.py":769
 *                 f"Wrong format of function definition in export block \n{proto!r}\n in {self.file}"
 * 
 *             ret_type, func_name, func_params = matched.groups()             # <<<<<<<<<<<<<<
 *             parsed_protos.append(
 *                 SharedFunctionDecl(name=func_name.strip(), ret=ret_type.strip(), params=func_params.strip())
*/
    __pyx_t_10 = __pyx_v_matched;
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_groups, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
      PyObject* sequence = __pyx_t_3;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 769, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_10);
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_11 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_11);
      } else {
        __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 769, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 769, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 769, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_11);
      }
      #else
      __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      #endif
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
      index = 0; __pyx_t_10 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L9_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_10);
      index = 1; __pyx_t_6 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      index = 2; __pyx_t_11 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L9_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_11);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 3) < (0)) __PYX_ERR(0, 769, __pyx_L1_error)
      __pyx_t_13 = NULL;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      goto __pyx_L10_unpacking_done;
      __pyx_L9_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_13 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 769, __pyx_L1_error)
      __pyx_L10_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_ret_type, __pyx_t_10);
    __pyx_t_10 = 0;
    __Pyx_XDECREF_SET(__pyx_v_func_name, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_func_params, __pyx_t_11);
    __pyx_t_11 = 0;

    /* "Cython/Compiler/Code.py":771
 *             ret_type, func_name, func_params = matched.groups()
 *             parsed_protos.append(
 *                 SharedFunctionDecl(name=func_name.strip(), ret=ret_type.strip(), params=func_params.strip())             # <<<<<<<<<<<<<<
 *             )
 * 
*/
    __pyx_t_11 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_SharedFunctionDecl); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_12 = __pyx_v_func_name;
    __Pyx_INCREF(__pyx_t_12);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
      __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    __pyx_t_14 = __pyx_v_ret_type;
    __Pyx_INCREF(__pyx_t_14);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, NULL};
      __pyx_t_12 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
    }
    __pyx_t_15 = __pyx_v_func_params;
    __Pyx_INCREF(__pyx_t_15);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_15, NULL};
      __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
      if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
    }
    __pyx_t_8 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_11);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_8 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 3 : 0)] = {__pyx_t_11, NULL};
      __pyx_t_15 = __Pyx_MakeVectorcallBuilderKwds(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_t_10, __pyx_t_15, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 771, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ret, __pyx_t_12, __pyx_t_15, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 771, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_params, __pyx_t_14, __pyx_t_15, __pyx_callargs+1, 2) < (0)) __PYX_ERR(0, 771, __pyx_L1_error)
      __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_15);
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }

    /* "Cython/Compiler/Code.py":770
 * 
 *             ret_type, func_name, func_params = matched.groups()
 *             parsed_protos.append(             # <<<<<<<<<<<<<<
 *                 SharedFunctionDecl(name=func_name.strip(), ret=ret_type.strip(), params=func_params.strip())
 *             )
*/
    __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_parsed_protos, __pyx_t_3); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 770, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":759
 *         '''
 * 
 *         for proto in export_proto.split(';\n'):             # <<<<<<<<<<<<<<
 *             proto = proto.strip().replace('\n', '')
 *             proto = re.sub(r'\s+', ' ', proto)
*/
    __pyx_L6_continue:;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":774
 *             )
 * 
 *         return parsed_protos             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_parsed_protos);
  __pyx_r = __pyx_v_parsed_protos;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":747
 *         self._parts_tuple = tuple(getattr(self, part, None) for part in self.code_parts)
 * 
 *     def parse_export_functions(self, export_proto: str) -> list:             # <<<<<<<<<<<<<<
 * 
 *         assert '//' not in export_proto and '/[inserted by cython to avoid comment start]*' not in export_proto and '*[inserted by cython to avoid comment closer]/' not in export_proto, \
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.parse_export_functions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parsed_protos);
  __Pyx_XDECREF(__pyx_v_proto_regex);
  __Pyx_XDECREF(__pyx_v_proto);
  __Pyx_XDECREF(__pyx_v_matched);
  __Pyx_XDECREF(__pyx_v_ret_type);
  __Pyx_XDECREF(__pyx_v_func_name);
  __Pyx_XDECREF(__pyx_v_func_params);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":777
 * 
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(self._parts_tuple)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4__hash__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4__hash__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "Cython/Compiler/Code.py":778
 * 
 *     def __hash__(self):
 *         return hash(self._parts_tuple)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __pyx_v_self->_parts_tuple;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 778, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":777
 * 
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(self._parts_tuple)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":780
 *         return hash(self._parts_tuple)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if self is other:
 *             return True
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6__eq__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6__eq__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_other) {
  PyTypeObject *__pyx_v_self_type = NULL;
  PyTypeObject *__pyx_v_other_type = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "Cython/Compiler/Code.py":781
 * 
 *     def __eq__(self, other):
 *         if self is other:             # <<<<<<<<<<<<<<
 *             return True
 *         self_type, other_type = type(self), type(other)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_self) == __pyx_v_other);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":782
 *     def __eq__(self, other):
 *         if self is other:
 *             return True             # <<<<<<<<<<<<<<
 *         self_type, other_type = type(self), type(other)
 *         if self_type is not other_type and not (isinstance(other, self_type) or isinstance(self, other_type)):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":781
 * 
 *     def __eq__(self, other):
 *         if self is other:             # <<<<<<<<<<<<<<
 *             return True
 *         self_type, other_type = type(self), type(other)
*/
  }

  /* "Cython/Compiler/Code.py":783
 *         if self is other:
 *             return True
 *         self_type, other_type = type(self), type(other)             # <<<<<<<<<<<<<<
 *         if self_type is not other_type and not (isinstance(other, self_type) or isinstance(self, other_type)):
 *             return False
*/
  __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
  __pyx_v_self_type = ((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
  __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_other)));
  __pyx_v_other_type = ((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_other)));

  /* "Cython/Compiler/Code.py":784
 *             return True
 *         self_type, other_type = type(self), type(other)
 *         if self_type is not other_type and not (isinstance(other, self_type) or isinstance(self, other_type)):             # <<<<<<<<<<<<<<
 *             return False
 * 
*/
  __pyx_t_2 = (__pyx_v_self_type != __pyx_v_other_type);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_other, __pyx_v_self_type); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_v_other_type); 
  __pyx_t_2 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  __pyx_t_3 = (!__pyx_t_2);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":785
 *         self_type, other_type = type(self), type(other)
 *         if self_type is not other_type and not (isinstance(other, self_type) or isinstance(self, other_type)):
 *             return False             # <<<<<<<<<<<<<<
 * 
 *         return self._parts_tuple == other._parts_tuple
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":784
 *             return True
 *         self_type, other_type = type(self), type(other)
 *         if self_type is not other_type and not (isinstance(other, self_type) or isinstance(self, other_type)):             # <<<<<<<<<<<<<<
 *             return False
 * 
*/
  }

  /* "Cython/Compiler/Code.py":787
 *             return False
 * 
 *         return self._parts_tuple == other._parts_tuple             # <<<<<<<<<<<<<<
 * 
 *     def none_or_sub(self, s, context):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_parts_tuple); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_RichCompare(__pyx_v_self->_parts_tuple, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":780
 *         return hash(self._parts_tuple)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if self is other:
 *             return True
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_self_type);
  __Pyx_XDECREF((PyObject *)__pyx_v_other_type);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":789
 *         return self._parts_tuple == other._parts_tuple
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9none_or_sub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11UtilityCode_none_or_sub(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("none_or_sub", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_none_or_sub); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9none_or_sub)) {
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_s, __pyx_v_context};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 789, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "Cython/Compiler/Code.py":793
 *         Format a string in this utility code with context. If None, do nothing.
 *         """
 *         if s is None:             # <<<<<<<<<<<<<<
 *             return None
 *         return s % context
*/
  __pyx_t_6 = (__pyx_v_s == Py_None);
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":794
 *         """
 *         if s is None:
 *             return None             # <<<<<<<<<<<<<<
 *         return s % context
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":793
 *         Format a string in this utility code with context. If None, do nothing.
 *         """
 *         if s is None:             # <<<<<<<<<<<<<<
 *             return None
 *         return s % context
*/
  }

  /* "Cython/Compiler/Code.py":795
 *         if s is None:
 *             return None
 *         return s % context             # <<<<<<<<<<<<<<
 * 
 *     def specialize(self, pyrex_type=None, **data):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Remainder(__pyx_v_s, __pyx_v_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":789
 *         return self._parts_tuple == other._parts_tuple
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.none_or_sub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9none_or_sub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_8none_or_sub, "\n        Format a string in this utility code with context. If None, do nothing.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_9none_or_sub = {"none_or_sub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9none_or_sub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_8none_or_sub};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9none_or_sub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_context = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("none_or_sub (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_s_4,&__pyx_mstate_global->__pyx_n_u_context,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 789, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "none_or_sub", 0) < (0)) __PYX_ERR(0, 789, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 2, 2, i); __PYX_ERR(0, 789, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 789, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 789, __pyx_L3_error)
    }
    __pyx_v_s = values[0];
    __pyx_v_context = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 789, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.none_or_sub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8none_or_sub(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), __pyx_v_s, __pyx_v_context);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8none_or_sub(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("none_or_sub", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11UtilityCode_none_or_sub(__pyx_v_self, __pyx_v_s, __pyx_v_context, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.none_or_sub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":797
 *         return s % context
 * 
 *     def specialize(self, pyrex_type=None, **data):             # <<<<<<<<<<<<<<
 *         name = self.name
 *         if pyrex_type is not None:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_11specialize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_11specialize = {"specialize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_11specialize, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_11specialize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pyrex_type = 0;
  PyObject *__pyx_v_data = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("specialize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_data = PyDict_New(); if (unlikely(!__pyx_v_data)) return NULL;
  __Pyx_GOTREF(__pyx_v_data);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyrex_type,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 797, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_data, values, kwd_pos_args, __pyx_kwds_len, "specialize", 1) < (0)) __PYX_ERR(0, 797, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_pyrex_type = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("specialize", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 797, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_data); __pyx_v_data = 0;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.specialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_10specialize(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), __pyx_v_pyrex_type, __pyx_v_data);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_data);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_10specialize(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_pyrex_type, PyObject *__pyx_v_data) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_requires = NULL;
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_s = NULL;
  PyObject *__pyx_8genexpr3__pyx_v_r = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6[4];
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  Py_ssize_t __pyx_t_13;
  PyObject *(*__pyx_t_14)(PyObject *);
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22 = NULL;
  int __pyx_t_23;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("specialize", 0);

  /* "Cython/Compiler/Code.py":798
 * 
 *     def specialize(self, pyrex_type=None, **data):
 *         name = self.name             # <<<<<<<<<<<<<<
 *         if pyrex_type is not None:
 *             data['type'] = pyrex_type.empty_declaration_code()
*/
  __pyx_t_1 = __pyx_v_self->name;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_name = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":799
 *     def specialize(self, pyrex_type=None, **data):
 *         name = self.name
 *         if pyrex_type is not None:             # <<<<<<<<<<<<<<
 *             data['type'] = pyrex_type.empty_declaration_code()
 *             data['type_name'] = pyrex_type.specialization_name()
*/
  __pyx_t_2 = (__pyx_v_pyrex_type != Py_None);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":800
 *         name = self.name
 *         if pyrex_type is not None:
 *             data['type'] = pyrex_type.empty_declaration_code()             # <<<<<<<<<<<<<<
 *             data['type_name'] = pyrex_type.specialization_name()
 *             name = "%s[%s]" % (name, data['type_name'])
*/
    __pyx_t_3 = __pyx_v_pyrex_type;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_empty_declaration_code, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 800, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyDict_SetItem(__pyx_v_data, __pyx_mstate_global->__pyx_n_u_type, __pyx_t_1) < 0))) __PYX_ERR(0, 800, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":801
 *         if pyrex_type is not None:
 *             data['type'] = pyrex_type.empty_declaration_code()
 *             data['type_name'] = pyrex_type.specialization_name()             # <<<<<<<<<<<<<<
 *             name = "%s[%s]" % (name, data['type_name'])
 *         # Dicts aren't hashable...
*/
    __pyx_t_3 = __pyx_v_pyrex_type;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_specialization_name, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 801, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyDict_SetItem(__pyx_v_data, __pyx_mstate_global->__pyx_n_u_type_name, __pyx_t_1) < 0))) __PYX_ERR(0, 801, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":802
 *             data['type'] = pyrex_type.empty_declaration_code()
 *             data['type_name'] = pyrex_type.specialization_name()
 *             name = "%s[%s]" % (name, data['type_name'])             # <<<<<<<<<<<<<<
 *         # Dicts aren't hashable...
 *         key = tuple(sorted(data.items()))
*/
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_data, __pyx_mstate_global->__pyx_n_u_type_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_3), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_6[0] = __pyx_t_1;
    __pyx_t_6[1] = __pyx_mstate_global->__pyx_kp_u__22;
    __pyx_t_6[2] = __pyx_t_5;
    __pyx_t_6[3] = __pyx_mstate_global->__pyx_kp_u__23;
    __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_6, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":799
 *     def specialize(self, pyrex_type=None, **data):
 *         name = self.name
 *         if pyrex_type is not None:             # <<<<<<<<<<<<<<
 *             data['type'] = pyrex_type.empty_declaration_code()
 *             data['type_name'] = pyrex_type.specialization_name()
*/
  }

  /* "Cython/Compiler/Code.py":804
 *             name = "%s[%s]" % (name, data['type_name'])
 *         # Dicts aren't hashable...
 *         key = tuple(sorted(data.items()))             # <<<<<<<<<<<<<<
 *         try:
 *             return self._cache[key]
*/
  __pyx_t_3 = __Pyx_PyDict_Items(__pyx_v_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely((PyList_Sort(__pyx_t_5) < 0))) __PYX_ERR(0, 804, __pyx_L1_error)
  __pyx_t_3 = PyList_AsTuple(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_key = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":805
 *         # Dicts aren't hashable...
 *         key = tuple(sorted(data.items()))
 *         try:             # <<<<<<<<<<<<<<
 *             return self._cache[key]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_9);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":806
 *         key = tuple(sorted(data.items()))
 *         try:
 *             return self._cache[key]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             if self.requires is None:
*/
      __Pyx_XDECREF(__pyx_r);
      if (unlikely(__pyx_v_self->_cache == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 806, __pyx_L4_error)
      }
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->_cache, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L8_try_return;

      /* "Cython/Compiler/Code.py":805
 *         # Dicts aren't hashable...
 *         key = tuple(sorted(data.items()))
 *         try:             # <<<<<<<<<<<<<<
 *             return self._cache[key]
 *         except KeyError:
*/
    }
    __pyx_L4_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":807
 *         try:
 *             return self._cache[key]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             if self.requires is None:
 *                 requires = None
*/
    __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_10) {
      __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.specialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 807, __pyx_L6_except_error)
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_1);

      /* "Cython/Compiler/Code.py":808
 *             return self._cache[key]
 *         except KeyError:
 *             if self.requires is None:             # <<<<<<<<<<<<<<
 *                 requires = None
 *             else:
*/
      __pyx_t_2 = (__pyx_v_self->__pyx_requires == Py_None);
      if (__pyx_t_2) {

        /* "Cython/Compiler/Code.py":809
 *         except KeyError:
 *             if self.requires is None:
 *                 requires = None             # <<<<<<<<<<<<<<
 *             else:
 *                 requires = [r.specialize(data) for r in self.requires]
*/
        __Pyx_INCREF(Py_None);
        __pyx_v_requires = ((PyObject*)Py_None);

        /* "Cython/Compiler/Code.py":808
 *             return self._cache[key]
 *         except KeyError:
 *             if self.requires is None:             # <<<<<<<<<<<<<<
 *                 requires = None
 *             else:
*/
        goto __pyx_L12;
      }

      /* "Cython/Compiler/Code.py":811
 *                 requires = None
 *             else:
 *                 requires = [r.specialize(data) for r in self.requires]             # <<<<<<<<<<<<<<
 * 
 *             s = self._cache[key] = UtilityCode(
*/
      /*else*/ {
        { /* enter inner scope */
          __pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 811, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_11);
          if (likely(PyList_CheckExact(__pyx_v_self->__pyx_requires)) || PyTuple_CheckExact(__pyx_v_self->__pyx_requires)) {
            __pyx_t_12 = __pyx_v_self->__pyx_requires; __Pyx_INCREF(__pyx_t_12);
            __pyx_t_13 = 0;
            __pyx_t_14 = NULL;
          } else {
            __pyx_t_13 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_v_self->__pyx_requires); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 811, __pyx_L15_error)
            __Pyx_GOTREF(__pyx_t_12);
            __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 811, __pyx_L15_error)
          }
          for (;;) {
            if (likely(!__pyx_t_14)) {
              if (likely(PyList_CheckExact(__pyx_t_12))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_12);
                  #if !CYTHON_ASSUME_SAFE_SIZE
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 811, __pyx_L15_error)
                  #endif
                  if (__pyx_t_13 >= __pyx_temp) break;
                }
                __pyx_t_15 = __Pyx_PyList_GetItemRefFast(__pyx_t_12, __pyx_t_13, __Pyx_ReferenceSharing_OwnStrongReference);
                ++__pyx_t_13;
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_12);
                  #if !CYTHON_ASSUME_SAFE_SIZE
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 811, __pyx_L15_error)
                  #endif
                  if (__pyx_t_13 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_15 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_13));
                #else
                __pyx_t_15 = __Pyx_PySequence_ITEM(__pyx_t_12, __pyx_t_13);
                #endif
                ++__pyx_t_13;
              }
              if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 811, __pyx_L15_error)
            } else {
              __pyx_t_15 = __pyx_t_14(__pyx_t_12);
              if (unlikely(!__pyx_t_15)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 811, __pyx_L15_error)
                  PyErr_Clear();
                }
                break;
              }
            }
            __Pyx_GOTREF(__pyx_t_15);
            __Pyx_XDECREF_SET(__pyx_8genexpr3__pyx_v_r, __pyx_t_15);
            __pyx_t_15 = 0;
            __pyx_t_16 = __pyx_8genexpr3__pyx_v_r;
            __Pyx_INCREF(__pyx_t_16);
            __pyx_t_4 = 0;
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_v_data};
              __pyx_t_15 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_specialize, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
              if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 811, __pyx_L15_error)
              __Pyx_GOTREF(__pyx_t_15);
            }
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_11, (PyObject*)__pyx_t_15))) __PYX_ERR(0, 811, __pyx_L15_error)
            __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          }
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_r); __pyx_8genexpr3__pyx_v_r = 0;
          goto __pyx_L19_exit_scope;
          __pyx_L15_error:;
          __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_r); __pyx_8genexpr3__pyx_v_r = 0;
          goto __pyx_L6_except_error;
          __pyx_L19_exit_scope:;
        } /* exit inner scope */
        __pyx_v_requires = ((PyObject*)__pyx_t_11);
        __pyx_t_11 = 0;
      }
      __pyx_L12:;

      /* "Cython/Compiler/Code.py":813
 *                 requires = [r.specialize(data) for r in self.requires]
 * 
 *             s = self._cache[key] = UtilityCode(             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.proto, data),
 *                 self.none_or_sub(self.impl, data),
*/
      __pyx_t_12 = NULL;

      /* "Cython/Compiler/Code.py":814
 * 
 *             s = self._cache[key] = UtilityCode(
 *                 self.none_or_sub(self.proto, data),             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.impl, data),
 *                 self.none_or_sub(self.init, data),
*/
      __pyx_t_15 = __pyx_v_self->proto;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_16 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self->__pyx_base.__pyx_vtab)->none_or_sub(__pyx_v_self, __pyx_t_15, __pyx_v_data, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 814, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

      /* "Cython/Compiler/Code.py":815
 *             s = self._cache[key] = UtilityCode(
 *                 self.none_or_sub(self.proto, data),
 *                 self.none_or_sub(self.impl, data),             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.init, data),
 *                 self.none_or_sub(self.cleanup, data),
*/
      __pyx_t_15 = __pyx_v_self->impl;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_17 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self->__pyx_base.__pyx_vtab)->none_or_sub(__pyx_v_self, __pyx_t_15, __pyx_v_data, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 815, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_17);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

      /* "Cython/Compiler/Code.py":816
 *                 self.none_or_sub(self.proto, data),
 *                 self.none_or_sub(self.impl, data),
 *                 self.none_or_sub(self.init, data),             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.cleanup, data),
 *                 self.none_or_sub(self.module_state_decls, data),
*/
      __pyx_t_15 = __pyx_v_self->init;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_18 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self->__pyx_base.__pyx_vtab)->none_or_sub(__pyx_v_self, __pyx_t_15, __pyx_v_data, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 816, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_18);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

      /* "Cython/Compiler/Code.py":817
 *                 self.none_or_sub(self.impl, data),
 *                 self.none_or_sub(self.init, data),
 *                 self.none_or_sub(self.cleanup, data),             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.module_state_decls, data),
 *                 self.none_or_sub(self.module_state_traverse, data),
*/
      __pyx_t_15 = __pyx_v_self->cleanup;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_19 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self->__pyx_base.__pyx_vtab)->none_or_sub(__pyx_v_self, __pyx_t_15, __pyx_v_data, 0); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 817, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_19);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

      /* "Cython/Compiler/Code.py":818
 *                 self.none_or_sub(self.init, data),
 *                 self.none_or_sub(self.cleanup, data),
 *                 self.none_or_sub(self.module_state_decls, data),             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.module_state_traverse, data),
 *                 self.none_or_sub(self.module_state_clear, data),
*/
      __pyx_t_15 = __pyx_v_self->module_state_decls;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_20 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self->__pyx_base.__pyx_vtab)->none_or_sub(__pyx_v_self, __pyx_t_15, __pyx_v_data, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 818, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_20);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

      /* "Cython/Compiler/Code.py":819
 *                 self.none_or_sub(self.cleanup, data),
 *                 self.none_or_sub(self.module_state_decls, data),
 *                 self.none_or_sub(self.module_state_traverse, data),             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.module_state_clear, data),
 *                 requires,
*/
      __pyx_t_15 = __pyx_v_self->module_state_traverse;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_21 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self->__pyx_base.__pyx_vtab)->none_or_sub(__pyx_v_self, __pyx_t_15, __pyx_v_data, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 819, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_21);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

      /* "Cython/Compiler/Code.py":820
 *                 self.none_or_sub(self.module_state_decls, data),
 *                 self.none_or_sub(self.module_state_traverse, data),
 *                 self.none_or_sub(self.module_state_clear, data),             # <<<<<<<<<<<<<<
 *                 requires,
 *                 self.proto_block,
*/
      __pyx_t_15 = __pyx_v_self->module_state_clear;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_22 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self->__pyx_base.__pyx_vtab)->none_or_sub(__pyx_v_self, __pyx_t_15, __pyx_v_data, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 820, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_22);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

      /* "Cython/Compiler/Code.py":823
 *                 requires,
 *                 self.proto_block,
 *                 name,             # <<<<<<<<<<<<<<
 *             )
 * 
*/
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[11] = {__pyx_t_12, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, __pyx_v_requires, __pyx_v_self->proto_block, __pyx_v_name};
        __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_callargs+__pyx_t_4, (11-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
        __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
        __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
        __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
        if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 813, __pyx_L6_except_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_11);
      }
      __Pyx_INCREF(__pyx_t_11);
      __pyx_v_s = ((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_t_11);

      /* "Cython/Compiler/Code.py":813
 *                 requires = [r.specialize(data) for r in self.requires]
 * 
 *             s = self._cache[key] = UtilityCode(             # <<<<<<<<<<<<<<
 *                 self.none_or_sub(self.proto, data),
 *                 self.none_or_sub(self.impl, data),
*/
      if (unlikely(__pyx_v_self->_cache == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 813, __pyx_L6_except_error)
      }
      if (unlikely((PyDict_SetItem(__pyx_v_self->_cache, __pyx_v_key, __pyx_t_11) < 0))) __PYX_ERR(0, 813, __pyx_L6_except_error)
      __Pyx_DECREF((PyObject *)__pyx_t_11); __pyx_t_11 = 0;

      /* "Cython/Compiler/Code.py":826
 *             )
 * 
 *             self.specialize_list.append(s)             # <<<<<<<<<<<<<<
 *             return s
 * 
*/
      if (unlikely(__pyx_v_self->specialize_list == Py_None)) {
        PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
        __PYX_ERR(0, 826, __pyx_L6_except_error)
      }
      __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_self->specialize_list, ((PyObject *)__pyx_v_s)); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(0, 826, __pyx_L6_except_error)

      /* "Cython/Compiler/Code.py":827
 * 
 *             self.specialize_list.append(s)
 *             return s             # <<<<<<<<<<<<<<
 * 
 *     def _validate_suitable_for_sharing(self):
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF((PyObject *)__pyx_v_s);
      __pyx_r = ((PyObject *)__pyx_v_s);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L7_except_return;
    }
    goto __pyx_L6_except_error;

    /* "Cython/Compiler/Code.py":805
 *         # Dicts aren't hashable...
 *         key = tuple(sorted(data.items()))
 *         try:             # <<<<<<<<<<<<<<
 *             return self._cache[key]
 *         except KeyError:
*/
    __pyx_L6_except_error:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L1_error;
    __pyx_L8_try_return:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L0;
    __pyx_L7_except_return:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L0;
  }

  /* "Cython/Compiler/Code.py":797
 *         return s % context
 * 
 *     def specialize(self, pyrex_type=None, **data):             # <<<<<<<<<<<<<<
 *         name = self.name
 *         if pyrex_type is not None:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_XDECREF(__pyx_t_21);
  __Pyx_XDECREF(__pyx_t_22);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.specialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_requires);
  __Pyx_XDECREF((PyObject *)__pyx_v_s);
  __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_r);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":829
 *             return s
 * 
 *     def _validate_suitable_for_sharing(self):             # <<<<<<<<<<<<<<
 *         code_string = getattr(self, "impl")
 *         if not code_string: return
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_13_validate_suitable_for_sharing(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_13_validate_suitable_for_sharing = {"_validate_suitable_for_sharing", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_13_validate_suitable_for_sharing, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_13_validate_suitable_for_sharing(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_validate_suitable_for_sharing (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12_validate_suitable_for_sharing(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12_validate_suitable_for_sharing(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_v_code_string = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_validate_suitable_for_sharing", 0);

  /* "Cython/Compiler/Code.py":830
 * 
 *     def _validate_suitable_for_sharing(self):
 *         code_string = getattr(self, "impl")             # <<<<<<<<<<<<<<
 *         if not code_string: return
 *         assert "NAMED_CGLOBAL(moddict_cname)" not in code_string, \
*/
  __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_impl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_code_string = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":831
 *     def _validate_suitable_for_sharing(self):
 *         code_string = getattr(self, "impl")
 *         if not code_string: return             # <<<<<<<<<<<<<<
 *         assert "NAMED_CGLOBAL(moddict_cname)" not in code_string, \
 *             f"moddict_cname should not be shared: {self}"
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_code_string); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 831, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "Cython/Compiler/Code.py":832
 *         code_string = getattr(self, "impl")
 *         if not code_string: return
 *         assert "NAMED_CGLOBAL(moddict_cname)" not in code_string, \             # <<<<<<<<<<<<<<
 *             f"moddict_cname should not be shared: {self}"
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u_NAMED_CGLOBAL_moddict_cname, __pyx_v_code_string, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 832, __pyx_L1_error)
    if (unlikely(!__pyx_t_3)) {

      /* "Cython/Compiler/Code.py":833
 *         if not code_string: return
 *         assert "NAMED_CGLOBAL(moddict_cname)" not in code_string, \
 *             f"moddict_cname should not be shared: {self}"             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
      __pyx_t_1 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_moddict_cname_should_not_be_shar, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_4, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 832, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 832, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":829
 *             return s
 * 
 *     def _validate_suitable_for_sharing(self):             # <<<<<<<<<<<<<<
 *         code_string = getattr(self, "impl")
 *         if not code_string: return
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode._validate_suitable_for_sharing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_code_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":835
 *             f"moddict_cname should not be shared: {self}"
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):
 *         code_string = getattr(self, code_type)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_15_put_code_section(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_15_put_code_section = {"_put_code_section", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_15_put_code_section, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_15_put_code_section(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_writer = 0;
  PyObject *__pyx_v_output = 0;
  PyObject *__pyx_v_code_type = 0;
  PyObject *__pyx_v_used_by = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_put_code_section (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_writer,&__pyx_mstate_global->__pyx_n_u_output,&__pyx_mstate_global->__pyx_n_u_code_type,&__pyx_mstate_global->__pyx_n_u_used_by,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 835, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_put_code_section", 0) < (0)) __PYX_ERR(0, 835, __pyx_L3_error)

      /* "Cython/Compiler/Code.py":836
 * 
 *     @cython.final
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):             # <<<<<<<<<<<<<<
 *         code_string = getattr(self, code_type)
 *         if not code_string:
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_put_code_section", 0, 3, 4, i); __PYX_ERR(0, 835, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 835, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 835, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 835, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_writer = ((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)values[0]);
    __pyx_v_output = values[1];
    __pyx_v_code_type = ((PyObject*)values[2]);
    __pyx_v_used_by = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_put_code_section", 0, 3, 4, __pyx_nargs); __PYX_ERR(0, 835, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode._put_code_section", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_writer), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, 0, "writer", 0))) __PYX_ERR(0, 836, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_code_type), (&PyUnicode_Type), 0, "code_type", 2))) __PYX_ERR(0, 836, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14_put_code_section(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), __pyx_v_writer, __pyx_v_output, __pyx_v_code_type, __pyx_v_used_by);

  /* "Cython/Compiler/Code.py":835
 *             f"moddict_cname should not be shared: {self}"
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):
 *         code_string = getattr(self, code_type)
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14_put_code_section(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_writer, PyObject *__pyx_v_output, PyObject *__pyx_v_code_type, PyObject *__pyx_v_used_by) {
  PyObject *__pyx_v_code_string = NULL;
  int __pyx_v_can_be_reused;
  PyObject *__pyx_v_result_is_module_specific = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10[3];
  PyObject *__pyx_t_11[4];
  struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_12;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_put_code_section", 0);
  __Pyx_INCREF(__pyx_v_used_by);

  /* "Cython/Compiler/Code.py":837
 *     @cython.final
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):
 *         code_string = getattr(self, code_type)             # <<<<<<<<<<<<<<
 *         if not code_string:
 *             return
*/
  __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_v_code_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_code_string = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":838
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):
 *         code_string = getattr(self, code_type)
 *         if not code_string:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_code_string); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 838, __pyx_L1_error)
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":839
 *         code_string = getattr(self, code_type)
 *         if not code_string:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         can_be_reused = code_type in ('proto', 'impl')
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":838
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):
 *         code_string = getattr(self, code_type)
 *         if not code_string:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  }

  /* "Cython/Compiler/Code.py":841
 *             return
 * 
 *         can_be_reused = code_type in ('proto', 'impl')             # <<<<<<<<<<<<<<
 * 
 *         code_string, result_is_module_specific = process_utility_ccode(self, output, code_string)
*/
  __Pyx_INCREF(__pyx_v_code_type);
  __pyx_t_4 = __pyx_v_code_type;
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_proto, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 841, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_impl, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 841, __pyx_L1_error)
  __pyx_t_3 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_can_be_reused = __pyx_t_3;

  /* "Cython/Compiler/Code.py":843
 *         can_be_reused = code_type in ('proto', 'impl')
 * 
 *         code_string, result_is_module_specific = process_utility_ccode(self, output, code_string)             # <<<<<<<<<<<<<<
 * 
 *         used_by = f" (used by {used_by})" if used_by else ''
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_process_utility_ccode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_5, ((PyObject *)__pyx_v_self), __pyx_v_output, __pyx_v_code_string};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (4-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 843, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_5);
    } else {
      __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 843, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_6);
      __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 843, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_5);
    }
    #else
    __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
    index = 0; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_6);
    index = 1; __pyx_t_5 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < (0)) __PYX_ERR(0, 843, __pyx_L1_error)
    __pyx_t_9 = NULL;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    goto __pyx_L7_unpacking_done;
    __pyx_L6_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_9 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 843, __pyx_L1_error)
    __pyx_L7_unpacking_done:;
  }
  __Pyx_DECREF_SET(__pyx_v_code_string, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_v_result_is_module_specific = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":845
 *         code_string, result_is_module_specific = process_utility_ccode(self, output, code_string)
 * 
 *         used_by = f" (used by {used_by})" if used_by else ''             # <<<<<<<<<<<<<<
 *         name = f"{self.name}.{code_type}" if code_type != 'impl' else self.name
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_used_by); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 845, __pyx_L1_error)
  if (__pyx_t_3) {
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_used_by, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u_used_by_2;
    __pyx_t_10[1] = __pyx_t_5;
    __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u__7;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_1 = __pyx_t_6;
    __pyx_t_6 = 0;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
    __pyx_t_1 = __pyx_mstate_global->__pyx_kp_u__9;
  }
  __Pyx_DECREF_SET(__pyx_v_used_by, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":846
 * 
 *         used_by = f" (used by {used_by})" if used_by else ''
 *         name = f"{self.name}.{code_type}" if code_type != 'impl' else self.name             # <<<<<<<<<<<<<<
 * 
 *         writer.putln(f"/[inserted by cython to avoid comment start]* {name}{used_by} *[inserted by cython to avoid comment closer]/")
*/
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_code_type, __pyx_mstate_global->__pyx_n_u_impl, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 846, __pyx_L1_error)
  if (__pyx_t_3) {
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_self->name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_10[0] = __pyx_t_6;
    __pyx_t_10[1] = __pyx_mstate_global->__pyx_kp_u__4;
    __pyx_t_10[2] = __pyx_v_code_type;
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_code_type), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_code_type));
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_1 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_self->name);
    __pyx_t_1 = __pyx_v_self->name;
  }
  __pyx_v_name = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":848
 *         name = f"{self.name}.{code_type}" if code_type != 'impl' else self.name
 * 
 *         writer.putln(f"/[inserted by cython to avoid comment start]* {name}{used_by} *[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 * 
 *         if can_be_reused and not result_is_module_specific:
*/
  __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_used_by, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u__24;
  __pyx_t_11[1] = __pyx_t_1;
  __pyx_t_11[2] = __pyx_t_5;
  __pyx_t_11[3] = __pyx_mstate_global->__pyx_kp_u__25;
  __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_11, 4, 3 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_12.__pyx_n = 1;
  __pyx_t_12.code = __pyx_t_6;
  __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_writer->__pyx_vtab)->putln(__pyx_v_writer, 0, &__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":850
 *         writer.putln(f"/[inserted by cython to avoid comment start]* {name}{used_by} *[inserted by cython to avoid comment closer]/")
 * 
 *         if can_be_reused and not result_is_module_specific:             # <<<<<<<<<<<<<<
 *             # can be reused across modules
 *             writer.put_or_include(code_string, f'{self.name}_{code_type}')
*/
  if (__pyx_v_can_be_reused) {
  } else {
    __pyx_t_3 = __pyx_v_can_be_reused;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_result_is_module_specific); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 850, __pyx_L1_error)
  __pyx_t_13 = (!__pyx_t_2);
  __pyx_t_3 = __pyx_t_13;
  __pyx_L9_bool_binop_done:;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":852
 *         if can_be_reused and not result_is_module_specific:
 *             # can be reused across modules
 *             writer.put_or_include(code_string, f'{self.name}_{code_type}')             # <<<<<<<<<<<<<<
 *         else:
 *             writer.put_multilines(code_string)
*/
    __pyx_t_6 = ((PyObject *)__pyx_v_writer);
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_self->name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10[0] = __pyx_t_1;
    __pyx_t_10[1] = __pyx_mstate_global->__pyx_n_u__26;
    __pyx_t_10[2] = __pyx_v_code_type;
    __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_code_type), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_code_type));
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_code_string, __pyx_t_8};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_or_include, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 852, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":850
 *         writer.putln(f"/[inserted by cython to avoid comment start]* {name}{used_by} *[inserted by cython to avoid comment closer]/")
 * 
 *         if can_be_reused and not result_is_module_specific:             # <<<<<<<<<<<<<<
 *             # can be reused across modules
 *             writer.put_or_include(code_string, f'{self.name}_{code_type}')
*/
    goto __pyx_L8;
  }

  /* "Cython/Compiler/Code.py":854
 *             writer.put_or_include(code_string, f'{self.name}_{code_type}')
 *         else:
 *             writer.put_multilines(code_string)             # <<<<<<<<<<<<<<
 * 
 *     def _put_init_code_section(self, output):
*/
  /*else*/ {
    __pyx_t_5 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_multilines(__pyx_v_writer, __pyx_v_code_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_L8:;

  /* "Cython/Compiler/Code.py":835
 *             f"moddict_cname should not be shared: {self}"
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):
 *         code_string = getattr(self, code_type)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode._put_code_section", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_code_string);
  __Pyx_XDECREF(__pyx_v_result_is_module_specific);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_used_by);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":856
 *             writer.put_multilines(code_string)
 * 
 *     def _put_init_code_section(self, output):             # <<<<<<<<<<<<<<
 *         if not self.init:
 *             return
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_17_put_init_code_section(PyObject *__pyx_v_self, PyObject *__pyx_v_output); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_17_put_init_code_section = {"_put_init_code_section", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_17_put_init_code_section, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_17_put_init_code_section(PyObject *__pyx_v_self, PyObject *__pyx_v_output) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_put_init_code_section (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_16_put_init_code_section(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_output));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_16_put_init_code_section(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_output) {
  PyObject *__pyx_v_writer = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_put_init_code_section", 0);

  /* "Cython/Compiler/Code.py":857
 * 
 *     def _put_init_code_section(self, output):
 *         if not self.init:             # <<<<<<<<<<<<<<
 *             return
 *         writer = output['init_globals']
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->init); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 857, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":858
 *     def _put_init_code_section(self, output):
 *         if not self.init:
 *             return             # <<<<<<<<<<<<<<
 *         writer = output['init_globals']
 *         self._put_code_section(writer, output, 'init')
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":857
 * 
 *     def _put_init_code_section(self, output):
 *         if not self.init:             # <<<<<<<<<<<<<<
 *             return
 *         writer = output['init_globals']
*/
  }

  /* "Cython/Compiler/Code.py":859
 *         if not self.init:
 *             return
 *         writer = output['init_globals']             # <<<<<<<<<<<<<<
 *         self._put_code_section(writer, output, 'init')
 *         # 'init' code can end with an 'if' statement for an error condition like:
*/
  __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_output, __pyx_mstate_global->__pyx_n_u_init_globals); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_writer = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":860
 *             return
 *         writer = output['init_globals']
 *         self._put_code_section(writer, output, 'init')             # <<<<<<<<<<<<<<
 *         # 'init' code can end with an 'if' statement for an error condition like:
 *         # if (check_ok()) ; else
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_writer, __pyx_v_output, __pyx_mstate_global->__pyx_n_u_init};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":863
 *         # 'init' code can end with an 'if' statement for an error condition like:
 *         # if (check_ok()) ; else
 *         writer.putln("  " + writer.error_goto_if_PyErr(output.module_pos))             # <<<<<<<<<<<<<<
 *         writer.putln()
 * 
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto_if_PyErr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__27, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":864
 *         # if (check_ok()) ; else
 *         writer.putln("  " + writer.error_goto_if_PyErr(output.module_pos))
 *         writer.putln()             # <<<<<<<<<<<<<<
 * 
 *     def _put_shared_function_declarations(self, code: "CCodeWriter") -> None:
*/
  __pyx_t_8 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":856
 *             writer.put_multilines(code_string)
 * 
 *     def _put_init_code_section(self, output):             # <<<<<<<<<<<<<<
 *         if not self.init:
 *             return
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode._put_init_code_section", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_writer);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":866
 *         writer.putln()
 * 
 *     def _put_shared_function_declarations(self, code: "CCodeWriter") -> None:             # <<<<<<<<<<<<<<
 *         code.putln(f'/[inserted by cython to avoid comment start]* {self.name} *[inserted by cython to avoid comment closer]/')
 *         for shared in self.shared_utility_functions:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_19_put_shared_function_declarations(PyObject *__pyx_v_self, PyObject *__pyx_v_code); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_19_put_shared_function_declarations = {"_put_shared_function_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_19_put_shared_function_declarations, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_19_put_shared_function_declarations(PyObject *__pyx_v_self, PyObject *__pyx_v_code) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_put_shared_function_declarations (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_code), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, 0, "code", 0))) __PYX_ERR(0, 866, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18_put_shared_function_declarations(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_code));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18_put_shared_function_declarations(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_code) {
  PyObject *__pyx_v_shared = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2[3];
  PyObject *__pyx_t_3 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9[7];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_put_shared_function_declarations", 0);

  /* "Cython/Compiler/Code.py":867
 * 
 *     def _put_shared_function_declarations(self, code: "CCodeWriter") -> None:
 *         code.putln(f'/[inserted by cython to avoid comment start]* {self.name} *[inserted by cython to avoid comment closer]/')             # <<<<<<<<<<<<<<
 *         for shared in self.shared_utility_functions:
 *             # Convert function declarations to static function pointers.
*/
  __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_self->name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2[0] = __pyx_mstate_global->__pyx_kp_u__24;
  __pyx_t_2[1] = __pyx_t_1;
  __pyx_t_2[2] = __pyx_mstate_global->__pyx_kp_u__25;
  __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, 3 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4.__pyx_n = 1;
  __pyx_t_4.code = __pyx_t_3;
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_code->__pyx_vtab)->putln(__pyx_v_code, 0, &__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":868
 *     def _put_shared_function_declarations(self, code: "CCodeWriter") -> None:
 *         code.putln(f'/[inserted by cython to avoid comment start]* {self.name} *[inserted by cython to avoid comment closer]/')
 *         for shared in self.shared_utility_functions:             # <<<<<<<<<<<<<<
 *             # Convert function declarations to static function pointers.
 *             code.putln(f'static {shared.ret}(*{shared.name})({shared.params}); /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/')
*/
  if (unlikely(__pyx_v_self->shared_utility_functions == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 868, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_v_self->shared_utility_functions; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 868, __pyx_L1_error)
      #endif
      if (__pyx_t_5 >= __pyx_temp) break;
    }
    __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_5;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_shared, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":870
 *         for shared in self.shared_utility_functions:
 *             # Convert function declarations to static function pointers.
 *             code.putln(f'static {shared.ret}(*{shared.name})({shared.params}); /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/')             # <<<<<<<<<<<<<<
 *         code.putln()
 * 
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_shared, __pyx_mstate_global->__pyx_n_u_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_shared, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_shared, __pyx_mstate_global->__pyx_n_u_params); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u_static;
    __pyx_t_9[1] = __pyx_t_6;
    __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__28;
    __pyx_t_9[3] = __pyx_t_7;
    __pyx_t_9[4] = __pyx_mstate_global->__pyx_kp_u__29;
    __pyx_t_9[5] = __pyx_t_8;
    __pyx_t_9[6] = __pyx_mstate_global->__pyx_kp_u_proto_2;
    __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_9, 7, 7 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 12, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_t_3;
    __pyx_t_8 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_code->__pyx_vtab)->putln(__pyx_v_code, 0, &__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":868
 *     def _put_shared_function_declarations(self, code: "CCodeWriter") -> None:
 *         code.putln(f'/[inserted by cython to avoid comment start]* {self.name} *[inserted by cython to avoid comment closer]/')
 *         for shared in self.shared_utility_functions:             # <<<<<<<<<<<<<<
 *             # Convert function declarations to static function pointers.
 *             code.putln(f'static {shared.ret}(*{shared.name})({shared.params}); /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/')
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":871
 *             # Convert function declarations to static function pointers.
 *             code.putln(f'static {shared.ret}(*{shared.name})({shared.params}); /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/')
 *         code.putln()             # <<<<<<<<<<<<<<
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:
*/
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_code->__pyx_vtab)->putln(__pyx_v_code, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":866
 *         writer.putln()
 * 
 *     def _put_shared_function_declarations(self, code: "CCodeWriter") -> None:             # <<<<<<<<<<<<<<
 *         code.putln(f'/[inserted by cython to avoid comment start]* {self.name} *[inserted by cython to avoid comment closer]/')
 *         for shared in self.shared_utility_functions:
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode._put_shared_function_declarations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_shared);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":873
 *         code.putln()
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         has_shared_utility_code = bool(
 *             self.shared_utility_functions and globalstate.module_node.scope.context.shared_utility_qualified_name
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_21put_code(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_21put_code = {"put_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_21put_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_21put_code(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_globalstate = 0;
  PyObject *__pyx_v_used_by = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_globalstate,&__pyx_mstate_global->__pyx_n_u_used_by,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 873, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_code", 0) < (0)) __PYX_ERR(0, 873, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_code", 0, 1, 2, i); __PYX_ERR(0, 873, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 873, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_globalstate = values[0];
    __pyx_v_used_by = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_code", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 873, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.put_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_20put_code(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), __pyx_v_globalstate, __pyx_v_used_by);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_20put_code(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_globalstate, PyObject *__pyx_v_used_by) {
  int __pyx_v_has_shared_utility_code;
  PyObject *__pyx_v_dependency = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("put_code", 0);

  /* "Cython/Compiler/Code.py":875
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:
 *         has_shared_utility_code = bool(
 *             self.shared_utility_functions and globalstate.module_node.scope.context.shared_utility_qualified_name             # <<<<<<<<<<<<<<
 *         )
 * 
*/
  if (__pyx_v_self->shared_utility_functions == Py_None) __pyx_t_2 = 0;
  else
  {
    Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_self->shared_utility_functions);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 875, __pyx_L1_error)
    __pyx_t_2 = (__pyx_temp != 0);
  }

  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_module_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_scope); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_context); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_shared_utility_qualified_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __pyx_t_2;
  __pyx_L3_bool_binop_done:;

  /* "Cython/Compiler/Code.py":874
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:
 *         has_shared_utility_code = bool(             # <<<<<<<<<<<<<<
 *             self.shared_utility_functions and globalstate.module_node.scope.context.shared_utility_qualified_name
 *         )
*/
  __pyx_v_has_shared_utility_code = (!(!__pyx_t_1));

  /* "Cython/Compiler/Code.py":878
 *         )
 * 
 *         if self.requires and not has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             for dependency in self.requires:
 *                 globalstate.use_utility_code(dependency, used_by=self.name)
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx_requires); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 878, __pyx_L1_error)
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_2 = (!__pyx_v_has_shared_utility_code);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":879
 * 
 *         if self.requires and not has_shared_utility_code:
 *             for dependency in self.requires:             # <<<<<<<<<<<<<<
 *                 globalstate.use_utility_code(dependency, used_by=self.name)
 * 
*/
    if (likely(PyList_CheckExact(__pyx_v_self->__pyx_requires)) || PyTuple_CheckExact(__pyx_v_self->__pyx_requires)) {
      __pyx_t_4 = __pyx_v_self->__pyx_requires; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_5 = 0;
      __pyx_t_6 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_self->__pyx_requires); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 879, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 879, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_6)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 879, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_5;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 879, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_5);
          #endif
          ++__pyx_t_5;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 879, __pyx_L1_error)
      } else {
        __pyx_t_3 = __pyx_t_6(__pyx_t_4);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 879, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_dependency, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":880
 *         if self.requires and not has_shared_utility_code:
 *             for dependency in self.requires:
 *                 globalstate.use_utility_code(dependency, used_by=self.name)             # <<<<<<<<<<<<<<
 * 
 *         if has_shared_utility_code:
*/
      __pyx_t_7 = __pyx_v_globalstate;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, __pyx_v_dependency};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 880, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_used_by, __pyx_v_self->name, __pyx_t_9, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 880, __pyx_L1_error)
        __pyx_t_3 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":879
 * 
 *         if self.requires and not has_shared_utility_code:
 *             for dependency in self.requires:             # <<<<<<<<<<<<<<
 *                 globalstate.use_utility_code(dependency, used_by=self.name)
 * 
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":878
 *         )
 * 
 *         if self.requires and not has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             for dependency in self.requires:
 *                 globalstate.use_utility_code(dependency, used_by=self.name)
*/
  }

  /* "Cython/Compiler/Code.py":882
 *                 globalstate.use_utility_code(dependency, used_by=self.name)
 * 
 *         if has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             self._put_shared_function_declarations(globalstate[self.proto_block])
 *         globalstate.shared_utility_functions.extend(self.shared_utility_functions)
*/
  if (__pyx_v_has_shared_utility_code) {

    /* "Cython/Compiler/Code.py":883
 * 
 *         if has_shared_utility_code:
 *             self._put_shared_function_declarations(globalstate[self.proto_block])             # <<<<<<<<<<<<<<
 *         globalstate.shared_utility_functions.extend(self.shared_utility_functions)
 * 
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_globalstate, __pyx_v_self->proto_block); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_shared_function_declaration, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 883, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":882
 *                 globalstate.use_utility_code(dependency, used_by=self.name)
 * 
 *         if has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             self._put_shared_function_declarations(globalstate[self.proto_block])
 *         globalstate.shared_utility_functions.extend(self.shared_utility_functions)
*/
  }

  /* "Cython/Compiler/Code.py":884
 *         if has_shared_utility_code:
 *             self._put_shared_function_declarations(globalstate[self.proto_block])
 *         globalstate.shared_utility_functions.extend(self.shared_utility_functions)             # <<<<<<<<<<<<<<
 * 
 *         if self.proto:
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_shared_utility_functions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_self->shared_utility_functions};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_extend, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":886
 *         globalstate.shared_utility_functions.extend(self.shared_utility_functions)
 * 
 *         if self.proto:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'proto', used_by=used_by)
 *         if not has_shared_utility_code:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->proto); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 886, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":887
 * 
 *         if self.proto:
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'proto', used_by=used_by)             # <<<<<<<<<<<<<<
 *         if not has_shared_utility_code:
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'export')
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_globalstate, __pyx_v_self->proto_block); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_t_9, __pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_proto};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_used_by, __pyx_v_used_by, __pyx_t_7, __pyx_callargs+4, 0) < (0)) __PYX_ERR(0, 887, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":886
 *         globalstate.shared_utility_functions.extend(self.shared_utility_functions)
 * 
 *         if self.proto:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'proto', used_by=used_by)
 *         if not has_shared_utility_code:
*/
  }

  /* "Cython/Compiler/Code.py":888
 *         if self.proto:
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'proto', used_by=used_by)
 *         if not has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'export')
 *         if self.impl and not has_shared_utility_code:
*/
  __pyx_t_1 = (!__pyx_v_has_shared_utility_code);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":889
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'proto', used_by=used_by)
 *         if not has_shared_utility_code:
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'export')             # <<<<<<<<<<<<<<
 *         if self.impl and not has_shared_utility_code:
 *             self._put_code_section(globalstate['utility_code_def'], globalstate, 'impl', used_by=used_by)
*/
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_globalstate, __pyx_v_self->proto_block); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_t_9, __pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_export};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 889, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":888
 *         if self.proto:
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'proto', used_by=used_by)
 *         if not has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'export')
 *         if self.impl and not has_shared_utility_code:
*/
  }

  /* "Cython/Compiler/Code.py":890
 *         if not has_shared_utility_code:
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'export')
 *         if self.impl and not has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['utility_code_def'], globalstate, 'impl', used_by=used_by)
 *         if self.cleanup and Options.generate_cleanup_code:
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_self->impl); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 890, __pyx_L1_error)
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_2 = (!__pyx_v_has_shared_utility_code);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":891
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'export')
 *         if self.impl and not has_shared_utility_code:
 *             self._put_code_section(globalstate['utility_code_def'], globalstate, 'impl', used_by=used_by)             # <<<<<<<<<<<<<<
 *         if self.cleanup and Options.generate_cleanup_code:
 *             self._put_code_section(globalstate['cleanup_globals'], globalstate, 'cleanup')
*/
    __pyx_t_9 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_utility_code_def); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_9, __pyx_t_7, __pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_impl};
      __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 891, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_used_by, __pyx_v_used_by, __pyx_t_3, __pyx_callargs+4, 0) < (0)) __PYX_ERR(0, 891, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 891, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":890
 *         if not has_shared_utility_code:
 *             self._put_code_section(globalstate[self.proto_block], globalstate, 'export')
 *         if self.impl and not has_shared_utility_code:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['utility_code_def'], globalstate, 'impl', used_by=used_by)
 *         if self.cleanup and Options.generate_cleanup_code:
*/
  }

  /* "Cython/Compiler/Code.py":892
 *         if self.impl and not has_shared_utility_code:
 *             self._put_code_section(globalstate['utility_code_def'], globalstate, 'impl', used_by=used_by)
 *         if self.cleanup and Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['cleanup_globals'], globalstate, 'cleanup')
 *         if self.module_state_decls:
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_self->cleanup); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 892, __pyx_L1_error)
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L18_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_generate_cleanup_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __pyx_t_2;
  __pyx_L18_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":893
 *             self._put_code_section(globalstate['utility_code_def'], globalstate, 'impl', used_by=used_by)
 *         if self.cleanup and Options.generate_cleanup_code:
 *             self._put_code_section(globalstate['cleanup_globals'], globalstate, 'cleanup')             # <<<<<<<<<<<<<<
 *         if self.module_state_decls:
 *             self._put_code_section(globalstate['module_state_contents'], globalstate, 'module_state_decls')
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_cleanup_globals); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_t_7, __pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_cleanup};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 893, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":892
 *         if self.impl and not has_shared_utility_code:
 *             self._put_code_section(globalstate['utility_code_def'], globalstate, 'impl', used_by=used_by)
 *         if self.cleanup and Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['cleanup_globals'], globalstate, 'cleanup')
 *         if self.module_state_decls:
*/
  }

  /* "Cython/Compiler/Code.py":894
 *         if self.cleanup and Options.generate_cleanup_code:
 *             self._put_code_section(globalstate['cleanup_globals'], globalstate, 'cleanup')
 *         if self.module_state_decls:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['module_state_contents'], globalstate, 'module_state_decls')
 *         if self.module_state_traverse:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->module_state_decls); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 894, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":895
 *             self._put_code_section(globalstate['cleanup_globals'], globalstate, 'cleanup')
 *         if self.module_state_decls:
 *             self._put_code_section(globalstate['module_state_contents'], globalstate, 'module_state_decls')             # <<<<<<<<<<<<<<
 *         if self.module_state_traverse:
 *             self._put_code_section(globalstate['module_state_traverse_contents'], globalstate, 'module_state_traverse')
*/
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_module_state_contents); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 895, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_t_3, __pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_module_state_decls};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 895, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":894
 *         if self.cleanup and Options.generate_cleanup_code:
 *             self._put_code_section(globalstate['cleanup_globals'], globalstate, 'cleanup')
 *         if self.module_state_decls:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['module_state_contents'], globalstate, 'module_state_decls')
 *         if self.module_state_traverse:
*/
  }

  /* "Cython/Compiler/Code.py":896
 *         if self.module_state_decls:
 *             self._put_code_section(globalstate['module_state_contents'], globalstate, 'module_state_decls')
 *         if self.module_state_traverse:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['module_state_traverse_contents'], globalstate, 'module_state_traverse')
 *         if self.module_state_clear:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->module_state_traverse); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 896, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":897
 *             self._put_code_section(globalstate['module_state_contents'], globalstate, 'module_state_decls')
 *         if self.module_state_traverse:
 *             self._put_code_section(globalstate['module_state_traverse_contents'], globalstate, 'module_state_traverse')             # <<<<<<<<<<<<<<
 *         if self.module_state_clear:
 *             self._put_code_section(globalstate['module_state_clear_contents'], globalstate, 'module_state_clear')
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_module_state_traverse_contents); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_t_7, __pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_module_state_traverse};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 897, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":896
 *         if self.module_state_decls:
 *             self._put_code_section(globalstate['module_state_contents'], globalstate, 'module_state_decls')
 *         if self.module_state_traverse:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['module_state_traverse_contents'], globalstate, 'module_state_traverse')
 *         if self.module_state_clear:
*/
  }

  /* "Cython/Compiler/Code.py":898
 *         if self.module_state_traverse:
 *             self._put_code_section(globalstate['module_state_traverse_contents'], globalstate, 'module_state_traverse')
 *         if self.module_state_clear:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['module_state_clear_contents'], globalstate, 'module_state_clear')
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->module_state_clear); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 898, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":899
 *             self._put_code_section(globalstate['module_state_traverse_contents'], globalstate, 'module_state_traverse')
 *         if self.module_state_clear:
 *             self._put_code_section(globalstate['module_state_clear_contents'], globalstate, 'module_state_clear')             # <<<<<<<<<<<<<<
 * 
 *         if self.init:
*/
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_module_state_clear_contents); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_t_3, __pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_module_state_clear};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 899, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":898
 *         if self.module_state_traverse:
 *             self._put_code_section(globalstate['module_state_traverse_contents'], globalstate, 'module_state_traverse')
 *         if self.module_state_clear:             # <<<<<<<<<<<<<<
 *             self._put_code_section(globalstate['module_state_clear_contents'], globalstate, 'module_state_clear')
 * 
*/
  }

  /* "Cython/Compiler/Code.py":901
 *             self._put_code_section(globalstate['module_state_clear_contents'], globalstate, 'module_state_clear')
 * 
 *         if self.init:             # <<<<<<<<<<<<<<
 *             self._put_init_code_section(globalstate)
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->init); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 901, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":902
 * 
 *         if self.init:
 *             self._put_init_code_section(globalstate)             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_globalstate};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_init_code_section, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 902, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":901
 *             self._put_code_section(globalstate['module_state_clear_contents'], globalstate, 'module_state_clear')
 * 
 *         if self.init:             # <<<<<<<<<<<<<<
 *             self._put_init_code_section(globalstate)
 * 
*/
  }

  /* "Cython/Compiler/Code.py":873
 *         code.putln()
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         has_shared_utility_code = bool(
 *             self.shared_utility_functions and globalstate.module_node.scope.context.shared_utility_qualified_name
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.put_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dependency);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":14
 * 
 * cdef class UtilityCode(UtilityCodeBase):
 *     cdef public object name             # <<<<<<<<<<<<<<
 *     cdef public object proto
 *     cdef public object export
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4name_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":15
 * cdef class UtilityCode(UtilityCodeBase):
 *     cdef public object name
 *     cdef public object proto             # <<<<<<<<<<<<<<
 *     cdef public object export
 *     cdef public object impl
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->proto);
  __pyx_r = __pyx_v_self->proto;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->proto);
  __Pyx_DECREF(__pyx_v_self->proto);
  __pyx_v_self->proto = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_5proto_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->proto);
  __Pyx_DECREF(__pyx_v_self->proto);
  __pyx_v_self->proto = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":16
 *     cdef public object name
 *     cdef public object proto
 *     cdef public object export             # <<<<<<<<<<<<<<
 *     cdef public object impl
 *     cdef public object init
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->__pyx_export);
  __pyx_r = __pyx_v_self->__pyx_export;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->__pyx_export);
  __Pyx_DECREF(__pyx_v_self->__pyx_export);
  __pyx_v_self->__pyx_export = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6export_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->__pyx_export);
  __Pyx_DECREF(__pyx_v_self->__pyx_export);
  __pyx_v_self->__pyx_export = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":17
 *     cdef public object proto
 *     cdef public object export
 *     cdef public object impl             # <<<<<<<<<<<<<<
 *     cdef public object init
 *     cdef public object cleanup
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->impl);
  __pyx_r = __pyx_v_self->impl;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->impl);
  __Pyx_DECREF(__pyx_v_self->impl);
  __pyx_v_self->impl = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4impl_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->impl);
  __Pyx_DECREF(__pyx_v_self->impl);
  __pyx_v_self->impl = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":18
 *     cdef public object export
 *     cdef public object impl
 *     cdef public object init             # <<<<<<<<<<<<<<
 *     cdef public object cleanup
 *     cdef object proto_block
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->init);
  __pyx_r = __pyx_v_self->init;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->init);
  __Pyx_DECREF(__pyx_v_self->init);
  __pyx_v_self->init = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4init_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->init);
  __Pyx_DECREF(__pyx_v_self->init);
  __pyx_v_self->init = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":19
 *     cdef public object impl
 *     cdef public object init
 *     cdef public object cleanup             # <<<<<<<<<<<<<<
 *     cdef object proto_block
 *     cdef readonly object module_state_decls
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->cleanup);
  __pyx_r = __pyx_v_self->cleanup;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->cleanup);
  __Pyx_DECREF(__pyx_v_self->cleanup);
  __pyx_v_self->cleanup = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->cleanup);
  __Pyx_DECREF(__pyx_v_self->cleanup);
  __pyx_v_self->cleanup = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":21
 *     cdef public object cleanup
 *     cdef object proto_block
 *     cdef readonly object module_state_decls             # <<<<<<<<<<<<<<
 *     cdef readonly object module_state_traverse
 *     cdef readonly object module_state_clear
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_18module_state_decls_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_18module_state_decls_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18module_state_decls___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18module_state_decls___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->module_state_decls);
  __pyx_r = __pyx_v_self->module_state_decls;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":22
 *     cdef object proto_block
 *     cdef readonly object module_state_decls
 *     cdef readonly object module_state_traverse             # <<<<<<<<<<<<<<
 *     cdef readonly object module_state_clear
 *     cdef public object requires
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_21module_state_traverse_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_21module_state_traverse_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_21module_state_traverse___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_21module_state_traverse___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->module_state_traverse);
  __pyx_r = __pyx_v_self->module_state_traverse;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":23
 *     cdef readonly object module_state_decls
 *     cdef readonly object module_state_traverse
 *     cdef readonly object module_state_clear             # <<<<<<<<<<<<<<
 *     cdef public object requires
 *     cdef dict _cache
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_18module_state_clear_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_18module_state_clear_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18module_state_clear___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_18module_state_clear___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->module_state_clear);
  __pyx_r = __pyx_v_self->module_state_clear;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":24
 *     cdef readonly object module_state_traverse
 *     cdef readonly object module_state_clear
 *     cdef public object requires             # <<<<<<<<<<<<<<
 *     cdef dict _cache
 *     cdef list specialize_list
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->__pyx_requires);
  __pyx_r = __pyx_v_self->__pyx_requires;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->__pyx_requires);
  __Pyx_DECREF(__pyx_v_self->__pyx_requires);
  __pyx_v_self->__pyx_requires = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8requires_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->__pyx_requires);
  __Pyx_DECREF(__pyx_v_self->__pyx_requires);
  __pyx_v_self->__pyx_requires = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":27
 *     cdef dict _cache
 *     cdef list specialize_list
 *     cdef public object file             # <<<<<<<<<<<<<<
 *     cdef readonly tuple _parts_tuple
 *     cdef list shared_utility_functions
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->file);
  __pyx_r = __pyx_v_self->file;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->file);
  __Pyx_DECREF(__pyx_v_self->file);
  __pyx_v_self->file = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4file_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->file);
  __Pyx_DECREF(__pyx_v_self->file);
  __pyx_v_self->file = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":28
 *     cdef list specialize_list
 *     cdef public object file
 *     cdef readonly tuple _parts_tuple             # <<<<<<<<<<<<<<
 *     cdef list shared_utility_functions
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_12_parts_tuple_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_12_parts_tuple_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12_parts_tuple___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12_parts_tuple___get__(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_parts_tuple);
  __pyx_r = __pyx_v_self->_parts_tuple;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":905
 * 
 * 
 * def add_macro_processor(*macro_names, regex=None, is_module_specific=False, _last_macro_processor = [None]):             # <<<<<<<<<<<<<<
 *     """Decorator to chain the code macro processors below.
 *     """
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_26__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__defaults__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_regex, Py_None) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_is_module_specific, ((PyObject*)Py_False)) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_last_macro_processor, __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, Py_None) != (0)) __PYX_ERR(0, 905, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 905, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_5add_macro_processor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_4add_macro_processor, "Decorator to chain the code macro processors below.\n    ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_5add_macro_processor = {"add_macro_processor", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_5add_macro_processor, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_4add_macro_processor};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_5add_macro_processor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_regex = 0;
  PyObject *__pyx_v_is_module_specific = 0;
  PyObject *__pyx_v__last_macro_processor = 0;
  PyObject *__pyx_v_macro_names = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("add_macro_processor (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __Pyx_INCREF(__pyx_args);
  __pyx_v_macro_names = __pyx_args;
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_regex,&__pyx_mstate_global->__pyx_n_u_is_module_specific,&__pyx_mstate_global->__pyx_n_u_last_macro_processor,0};
    struct __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self);
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 905, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        default:
        case  0: break;
      }
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, 0, __pyx_kwds_len, "add_macro_processor", 0) < (0)) __PYX_ERR(0, 905, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False)));
      if (!values[2]) values[2] = __Pyx_NewRef(__pyx_dynamic_args->arg0);
    } else if (unlikely(__pyx_nargs < 0)) {
      goto __pyx_L5_argtuple_error;
    } else {
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False)));
      if (!values[2]) values[2] = __Pyx_NewRef(__pyx_dynamic_args->arg0);
    }
    __pyx_v_regex = values[0];
    __pyx_v_is_module_specific = values[1];
    __pyx_v__last_macro_processor = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("add_macro_processor", 0, 0, 0, __pyx_nargs); __PYX_ERR(0, 905, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_CLEAR(__pyx_v_macro_names);
  __Pyx_AddTraceback("Cython.Compiler.Code.add_macro_processor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_4add_macro_processor(__pyx_self, __pyx_v_regex, __pyx_v_is_module_specific, __pyx_v__last_macro_processor, __pyx_v_macro_names);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_macro_names);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":910
 *     last_processor = _last_macro_processor[0]
 * 
 *     def build_processor(func):             # <<<<<<<<<<<<<<
 *         @wraps(func)
 *         def process(utility_code: UtilityCode, output, code_string: str):
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19add_macro_processor_1build_processor(PyObject *__pyx_self, PyObject *__pyx_v_func); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_19add_macro_processor_1build_processor = {"build_processor", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_19add_macro_processor_1build_processor, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19add_macro_processor_1build_processor(PyObject *__pyx_self, PyObject *__pyx_v_func) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("build_processor (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_19add_macro_processor_build_processor(__pyx_self, ((PyObject *)__pyx_v_func));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":911
 * 
 *     def build_processor(func):
 *         @wraps(func)             # <<<<<<<<<<<<<<
 *         def process(utility_code: UtilityCode, output, code_string: str):
 *             # First, call the processing chain in FIFO function definition order.
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_1process(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_1process = {"process", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_1process, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_1process(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility_code = 0;
  PyObject *__pyx_v_output = 0;
  PyObject *__pyx_v_code_string = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("process (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_utility_code,&__pyx_mstate_global->__pyx_n_u_output,&__pyx_mstate_global->__pyx_n_u_code_string,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 911, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "process", 0) < (0)) __PYX_ERR(0, 911, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("process", 1, 3, 3, i); __PYX_ERR(0, 911, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 911, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 911, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 911, __pyx_L3_error)
    }
    __pyx_v_utility_code = ((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)values[0]);
    __pyx_v_output = values[1];
    __pyx_v_code_string = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("process", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.add_macro_processor.build_processor.process", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_utility_code), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, 0, "utility_code", 0))) __PYX_ERR(0, 912, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_code_string), (&PyUnicode_Type), 0, "code_string", 2))) __PYX_ERR(0, 912, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_process(__pyx_self, __pyx_v_utility_code, __pyx_v_output, __pyx_v_code_string);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_process(PyObject *__pyx_self, struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility_code, PyObject *__pyx_v_output, PyObject *__pyx_v_code_string) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *__pyx_outer_scope;
  PyObject *__pyx_v_result_is_module_specific = NULL;
  PyObject *__pyx_v_macro = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *(*__pyx_t_7)(PyObject *);
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10[5];
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("process", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;
  __Pyx_INCREF(__pyx_v_code_string);

  /* "Cython/Compiler/Code.py":914
 *         def process(utility_code: UtilityCode, output, code_string: str):
 *             # First, call the processing chain in FIFO function definition order.
 *             result_is_module_specific = False             # <<<<<<<<<<<<<<
 *             if last_processor is not None:
 *                 code_string, result_is_module_specific = last_processor(utility_code, output, code_string)
*/
  __Pyx_INCREF(Py_False);
  __pyx_v_result_is_module_specific = Py_False;

  /* "Cython/Compiler/Code.py":915
 *             # First, call the processing chain in FIFO function definition order.
 *             result_is_module_specific = False
 *             if last_processor is not None:             # <<<<<<<<<<<<<<
 *                 code_string, result_is_module_specific = last_processor(utility_code, output, code_string)
 * 
*/
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_last_processor)) { __Pyx_RaiseClosureNameError("last_processor"); __PYX_ERR(0, 915, __pyx_L1_error) }
  __pyx_t_1 = (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_last_processor != Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":916
 *             result_is_module_specific = False
 *             if last_processor is not None:
 *                 code_string, result_is_module_specific = last_processor(utility_code, output, code_string)             # <<<<<<<<<<<<<<
 * 
 *             # Detect if we need to do something.
*/
    __pyx_t_3 = NULL;
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_last_processor)) { __Pyx_RaiseClosureNameError("last_processor"); __PYX_ERR(0, 916, __pyx_L1_error) }
    __Pyx_INCREF(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_last_processor);
    __pyx_t_4 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_last_processor; 
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_3, ((PyObject *)__pyx_v_utility_code), __pyx_v_output, __pyx_v_code_string};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
      PyObject* sequence = __pyx_t_2;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 916, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_4);
        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_3);
      } else {
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 916, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_4);
        __pyx_t_3 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_3);
      }
      #else
      __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 916, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 916, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6);
      index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_4);
      index = 1; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 916, __pyx_L1_error)
      __pyx_t_7 = NULL;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L5_unpacking_done;
      __pyx_L4_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 916, __pyx_L1_error)
      __pyx_L5_unpacking_done:;
    }
    if (!(likely(PyUnicode_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_4))) __PYX_ERR(0, 916, __pyx_L1_error)
    __Pyx_DECREF_SET(__pyx_v_code_string, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_result_is_module_specific, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":915
 *             # First, call the processing chain in FIFO function definition order.
 *             result_is_module_specific = False
 *             if last_processor is not None:             # <<<<<<<<<<<<<<
 *                 code_string, result_is_module_specific = last_processor(utility_code, output, code_string)
 * 
*/
  }

  /* "Cython/Compiler/Code.py":919
 * 
 *             # Detect if we need to do something.
 *             if macro_names:             # <<<<<<<<<<<<<<
 *                 for macro in macro_names:
 *                     if macro in code_string:
*/
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names)) { __Pyx_RaiseClosureNameError("macro_names"); __PYX_ERR(0, 919, __pyx_L1_error) }
  if (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names == Py_None) __pyx_t_1 = 0;
  else
  {
    Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 919, __pyx_L1_error)
    __pyx_t_1 = (__pyx_temp != 0);
  }

  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":920
 *             # Detect if we need to do something.
 *             if macro_names:
 *                 for macro in macro_names:             # <<<<<<<<<<<<<<
 *                     if macro in code_string:
 *                         break
*/
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names)) { __Pyx_RaiseClosureNameError("macro_names"); __PYX_ERR(0, 920, __pyx_L1_error) }
    if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 920, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_8 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 920, __pyx_L1_error)
        #endif
        if (__pyx_t_8 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_8));
      #else
      __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_8);
      #endif
      ++__pyx_t_8;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_macro, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":921
 *             if macro_names:
 *                 for macro in macro_names:
 *                     if macro in code_string:             # <<<<<<<<<<<<<<
 *                         break
 *                 else:
*/
      if (unlikely(__pyx_v_code_string == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
        __PYX_ERR(0, 921, __pyx_L1_error)
      }
      __pyx_t_1 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_macro, __pyx_v_code_string, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 921, __pyx_L1_error)
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":922
 *                 for macro in macro_names:
 *                     if macro in code_string:
 *                         break             # <<<<<<<<<<<<<<
 *                 else:
 *                     return code_string, result_is_module_specific
*/
        goto __pyx_L8_break;

        /* "Cython/Compiler/Code.py":921
 *             if macro_names:
 *                 for macro in macro_names:
 *                     if macro in code_string:             # <<<<<<<<<<<<<<
 *                         break
 *                 else:
*/
      }

      /* "Cython/Compiler/Code.py":920
 *             # Detect if we need to do something.
 *             if macro_names:
 *                 for macro in macro_names:             # <<<<<<<<<<<<<<
 *                     if macro in code_string:
 *                         break
*/
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    goto __pyx_L10_for_else;
    __pyx_L8_break:;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    goto __pyx_L11_for_end;
    /*else*/ {
      __pyx_L10_for_else:;

      /* "Cython/Compiler/Code.py":924
 *                         break
 *                 else:
 *                     return code_string, result_is_module_specific             # <<<<<<<<<<<<<<
 * 
 *             # Process the code.
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_v_code_string);
      __Pyx_GIVEREF(__pyx_v_code_string);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_code_string) != (0)) __PYX_ERR(0, 924, __pyx_L1_error);
      __Pyx_INCREF(__pyx_v_result_is_module_specific);
      __Pyx_GIVEREF(__pyx_v_result_is_module_specific);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_result_is_module_specific) != (0)) __PYX_ERR(0, 924, __pyx_L1_error);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;
    }
    __pyx_L11_for_end:;

    /* "Cython/Compiler/Code.py":919
 * 
 *             # Detect if we need to do something.
 *             if macro_names:             # <<<<<<<<<<<<<<
 *                 for macro in macro_names:
 *                     if macro in code_string:
*/
  }

  /* "Cython/Compiler/Code.py":927
 * 
 *             # Process the code.
 *             if regex is None:             # <<<<<<<<<<<<<<
 *                 code_string = func(utility_code, output, code_string)
 *             else:
*/
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_regex)) { __Pyx_RaiseClosureNameError("regex"); __PYX_ERR(0, 927, __pyx_L1_error) }
  __pyx_t_1 = (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_regex == Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":928
 *             # Process the code.
 *             if regex is None:
 *                 code_string = func(utility_code, output, code_string)             # <<<<<<<<<<<<<<
 *             else:
 *                 code_string = re.sub(regex, partial(func, output), code_string)
*/
    __pyx_t_3 = NULL;
    if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); __PYX_ERR(0, 928, __pyx_L1_error) }
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_func; 
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_3, ((PyObject *)__pyx_v_utility_code), __pyx_v_output, __pyx_v_code_string};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(0, 928, __pyx_L1_error)
    __Pyx_DECREF_SET(__pyx_v_code_string, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":927
 * 
 *             # Process the code.
 *             if regex is None:             # <<<<<<<<<<<<<<
 *                 code_string = func(utility_code, output, code_string)
 *             else:
*/
    goto __pyx_L12;
  }

  /* "Cython/Compiler/Code.py":930
 *                 code_string = func(utility_code, output, code_string)
 *             else:
 *                 code_string = re.sub(regex, partial(func, output), code_string)             # <<<<<<<<<<<<<<
 * 
 *             # Make sure we found and replaced all macro occurrences.
*/
  /*else*/ {
    __pyx_t_4 = __pyx_v_6Cython_8Compiler_4Code_re;
    __Pyx_INCREF(__pyx_t_4);
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_regex)) { __Pyx_RaiseClosureNameError("regex"); __PYX_ERR(0, 930, __pyx_L1_error) }
    __pyx_t_6 = NULL;
    __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_partial);
    __pyx_t_9 = __pyx_v_6Cython_8Compiler_4Code_partial; 
    if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); __PYX_ERR(0, 930, __pyx_L1_error) }
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_func, __pyx_v_output};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_regex, __pyx_t_3, __pyx_v_code_string};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sub, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(0, 930, __pyx_L1_error)
    __Pyx_DECREF_SET(__pyx_v_code_string, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;
  }
  __pyx_L12:;

  /* "Cython/Compiler/Code.py":933
 * 
 *             # Make sure we found and replaced all macro occurrences.
 *             for macro in macro_names:             # <<<<<<<<<<<<<<
 *                 if macro in code_string:
 *                     raise RuntimeError(f"Left-over utility code macro '{macro}()' found in '{utility_code.name}'")
*/
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names)) { __Pyx_RaiseClosureNameError("macro_names"); __PYX_ERR(0, 933, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 933, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_macro_names; __Pyx_INCREF(__pyx_t_2);
  __pyx_t_8 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 933, __pyx_L1_error)
      #endif
      if (__pyx_t_8 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_8));
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_8);
    #endif
    ++__pyx_t_8;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_macro, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":934
 *             # Make sure we found and replaced all macro occurrences.
 *             for macro in macro_names:
 *                 if macro in code_string:             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Left-over utility code macro '{macro}()' found in '{utility_code.name}'")
 * 
*/
    if (unlikely(__pyx_v_code_string == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 934, __pyx_L1_error)
    }
    __pyx_t_1 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_macro, __pyx_v_code_string, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 934, __pyx_L1_error)
    if (unlikely(__pyx_t_1)) {

      /* "Cython/Compiler/Code.py":935
 *             for macro in macro_names:
 *                 if macro in code_string:
 *                     raise RuntimeError(f"Left-over utility code macro '{macro}()' found in '{utility_code.name}'")             # <<<<<<<<<<<<<<
 * 
 *             result_is_module_specific |= is_module_specific
*/
      __pyx_t_4 = NULL;
      __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_macro, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 935, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_utility_code->name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 935, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u_Left_over_utility_code_macro;
      __pyx_t_10[1] = __pyx_t_9;
      __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u_found_in;
      __pyx_t_10[3] = __pyx_t_6;
      __pyx_t_10[4] = __pyx_mstate_global->__pyx_kp_u__30;
      __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_10, 5, 30 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 14 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 935, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_11};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 935, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 935, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":934
 *             # Make sure we found and replaced all macro occurrences.
 *             for macro in macro_names:
 *                 if macro in code_string:             # <<<<<<<<<<<<<<
 *                     raise RuntimeError(f"Left-over utility code macro '{macro}()' found in '{utility_code.name}'")
 * 
*/
    }

    /* "Cython/Compiler/Code.py":933
 * 
 *             # Make sure we found and replaced all macro occurrences.
 *             for macro in macro_names:             # <<<<<<<<<<<<<<
 *                 if macro in code_string:
 *                     raise RuntimeError(f"Left-over utility code macro '{macro}()' found in '{utility_code.name}'")
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":937
 *                     raise RuntimeError(f"Left-over utility code macro '{macro}()' found in '{utility_code.name}'")
 * 
 *             result_is_module_specific |= is_module_specific             # <<<<<<<<<<<<<<
 *             return code_string, result_is_module_specific
 * 
*/
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_is_module_specific)) { __Pyx_RaiseClosureNameError("is_module_specific"); __PYX_ERR(0, 937, __pyx_L1_error) }
  __pyx_t_2 = PyNumber_InPlaceOr(__pyx_v_result_is_module_specific, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_is_module_specific); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF_SET(__pyx_v_result_is_module_specific, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":938
 * 
 *             result_is_module_specific |= is_module_specific
 *             return code_string, result_is_module_specific             # <<<<<<<<<<<<<<
 * 
 *         _last_macro_processor[0] = process
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_code_string);
  __Pyx_GIVEREF(__pyx_v_code_string);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_code_string) != (0)) __PYX_ERR(0, 938, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_result_is_module_specific);
  __Pyx_GIVEREF(__pyx_v_result_is_module_specific);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_result_is_module_specific) != (0)) __PYX_ERR(0, 938, __pyx_L1_error);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":911
 * 
 *     def build_processor(func):
 *         @wraps(func)             # <<<<<<<<<<<<<<
 *         def process(utility_code: UtilityCode, output, code_string: str):
 *             # First, call the processing chain in FIFO function definition order.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("Cython.Compiler.Code.add_macro_processor.build_processor.process", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result_is_module_specific);
  __Pyx_XDECREF(__pyx_v_macro);
  __Pyx_XDECREF(__pyx_v_code_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":910
 *     last_processor = _last_macro_processor[0]
 * 
 *     def build_processor(func):             # <<<<<<<<<<<<<<
 *         @wraps(func)
 *         def process(utility_code: UtilityCode, output, code_string: str):
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_19add_macro_processor_build_processor(PyObject *__pyx_self, PyObject *__pyx_v_func) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *__pyx_cur_scope;
  PyObject *__pyx_v_process = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("build_processor", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 910, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);

  /* "Cython/Compiler/Code.py":911
 * 
 *     def build_processor(func):
 *         @wraps(func)             # <<<<<<<<<<<<<<
 *         def process(utility_code: UtilityCode, output, code_string: str):
 *             # First, call the processing chain in FIFO function definition order.
*/
  __pyx_t_2 = NULL;
  __pyx_t_4 = NULL;
  __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_wraps);
  __pyx_t_5 = __pyx_v_6Cython_8Compiler_4Code_wraps; 
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_func};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_utility_code, __pyx_mstate_global->__pyx_n_u_UtilityCode) < (0)) __PYX_ERR(0, 911, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_code_string, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 911, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_19add_macro_processor_15build_processor_1process, 0, __pyx_mstate_global->__pyx_n_u_add_macro_processor_locals_build, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[3])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_process = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":940
 *             return code_string, result_is_module_specific
 * 
 *         _last_macro_processor[0] = process             # <<<<<<<<<<<<<<
 *         return process
 * 
*/
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v__last_macro_processor)) { __Pyx_RaiseClosureNameError("_last_macro_processor"); __PYX_ERR(0, 940, __pyx_L1_error) }
  if (unlikely((__Pyx_SetItemInt(__pyx_cur_scope->__pyx_outer_scope->__pyx_v__last_macro_processor, 0, __pyx_v_process, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference) < 0))) __PYX_ERR(0, 940, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":941
 * 
 *         _last_macro_processor[0] = process
 *         return process             # <<<<<<<<<<<<<<
 * 
 *     return build_processor
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_process);
  __pyx_r = __pyx_v_process;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":910
 *     last_processor = _last_macro_processor[0]
 * 
 *     def build_processor(func):             # <<<<<<<<<<<<<<
 *         @wraps(func)
 *         def process(utility_code: UtilityCode, output, code_string: str):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.add_macro_processor.build_processor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_process);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":905
 * 
 * 
 * def add_macro_processor(*macro_names, regex=None, is_module_specific=False, _last_macro_processor = [None]):             # <<<<<<<<<<<<<<
 *     """Decorator to chain the code macro processors below.
 *     """
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_4add_macro_processor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_regex, PyObject *__pyx_v_is_module_specific, PyObject *__pyx_v__last_macro_processor, PyObject *__pyx_v_macro_names) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *__pyx_cur_scope;
  PyObject *__pyx_v_build_processor = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("add_macro_processor", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 905, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_regex = __pyx_v_regex;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_regex);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_regex);
  __pyx_cur_scope->__pyx_v_is_module_specific = __pyx_v_is_module_specific;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_is_module_specific);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_is_module_specific);
  __pyx_cur_scope->__pyx_v__last_macro_processor = __pyx_v__last_macro_processor;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v__last_macro_processor);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v__last_macro_processor);
  __pyx_cur_scope->__pyx_v_macro_names = __pyx_v_macro_names;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_macro_names);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_macro_names);

  /* "Cython/Compiler/Code.py":908
 *     """Decorator to chain the code macro processors below.
 *     """
 *     last_processor = _last_macro_processor[0]             # <<<<<<<<<<<<<<
 * 
 *     def build_processor(func):
*/
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v__last_macro_processor, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_last_processor = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":910
 *     last_processor = _last_macro_processor[0]
 * 
 *     def build_processor(func):             # <<<<<<<<<<<<<<
 *         @wraps(func)
 *         def process(utility_code: UtilityCode, output, code_string: str):
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_19add_macro_processor_1build_processor, 0, __pyx_mstate_global->__pyx_n_u_add_macro_processor_locals_build_2, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[4])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_build_processor = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":943
 *         return process
 * 
 *     return build_processor             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_build_processor);
  __pyx_r = __pyx_v_build_processor;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":905
 * 
 * 
 * def add_macro_processor(*macro_names, regex=None, is_module_specific=False, _last_macro_processor = [None]):             # <<<<<<<<<<<<<<
 *     """Decorator to chain the code macro processors below.
 *     """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.add_macro_processor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_build_processor);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":946
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CSTRING',
 *     regex=r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)',
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_7_wrap_c_string(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_6_wrap_c_string, "Replace CSTRING('''xyz''') by a C compatible string, taking care of line breaks.\n    ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_7_wrap_c_string = {"_wrap_c_string", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_7_wrap_c_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_6_wrap_c_string};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_7_wrap_c_string(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v__ = 0;
  PyObject *__pyx_v_matchobj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_wrap_c_string (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u__26,&__pyx_mstate_global->__pyx_n_u_matchobj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 946, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_wrap_c_string", 0) < (0)) __PYX_ERR(0, 946, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_wrap_c_string", 1, 2, 2, i); __PYX_ERR(0, 946, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 946, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 946, __pyx_L3_error)
    }
    __pyx_v__ = values[0];
    __pyx_v_matchobj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_wrap_c_string", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 946, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code._wrap_c_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_6_wrap_c_string(__pyx_self, __pyx_v__, __pyx_v_matchobj);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_6Cython_8Compiler_4Code_14_wrap_c_string_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "Cython/Compiler/Code.py":955
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'             # <<<<<<<<<<<<<<
 *         for line in content.splitlines())
 * 
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_14_wrap_c_string_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 955, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6Cython_8Compiler_4Code_14_wrap_c_string_2generator3, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[5]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_wrap_c_string_locals_genexpr, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code); if (unlikely(!gen)) __PYX_ERR(0, 955, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code._wrap_c_string.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_6Cython_8Compiler_4Code_14_wrap_c_string_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *__pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 955, __pyx_L1_error)
  __pyx_r = PyList_New(0); if (unlikely(!__pyx_r)) __PYX_ERR(0, 955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);

  /* "Cython/Compiler/Code.py":956
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'
 *         for line in content.splitlines())             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 956, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 956, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 956, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 956, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 956, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 956, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_line);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_line, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":955
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'             # <<<<<<<<<<<<<<
 *         for line in content.splitlines())
 * 
*/
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_line;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u__31};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_endswith, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 955, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_10 = (!__pyx_t_9);
    if (!__pyx_t_10) {
    } else {
      __pyx_t_5 = __pyx_t_10;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_line;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u__32};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_endswith, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 955, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __pyx_t_10;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_5) {
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_line, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u__33;
      __pyx_t_11[1] = __pyx_t_6;
      __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u_n;
      __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 4, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_4 = __pyx_t_7;
      __pyx_t_7 = 0;
    } else {
      __pyx_t_7 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_line, 0, -1L, NULL, NULL, &__pyx_mstate_global->__pyx_slice[0], 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u__33;
      __pyx_t_11[1] = __pyx_t_6;
      __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u__34;
      __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_4 = __pyx_t_7;
      __pyx_t_7 = 0;
    }
    if (unlikely(__Pyx_ListComp_Append(__pyx_r, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 955, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":956
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'
 *         for line in content.splitlines())             # <<<<<<<<<<<<<<
 * 
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* "Cython/Compiler/Code.py":955
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'             # <<<<<<<<<<<<<<
 *         for line in content.splitlines())
 * 
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":946
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CSTRING',
 *     regex=r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)',
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_6_wrap_c_string(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v__, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_v_content = NULL;
  PyObject *__pyx_gb_6Cython_8Compiler_4Code_14_wrap_c_string_2generator3 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_wrap_c_string", 0);

  /* "Cython/Compiler/Code.py":953
 *     """Replace CSTRING('''xyz''') by a C compatible string, taking care of line breaks.
 *     """
 *     content = matchobj.group(1).replace('"', r'\042')             # <<<<<<<<<<<<<<
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'
*/
  __pyx_t_2 = __pyx_v_matchobj;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_1};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_group, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[3], NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_content = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":954
 *     """
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(             # <<<<<<<<<<<<<<
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'
 *         for line in content.splitlines())
*/
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":956
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'
 *         for line in content.splitlines())             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = __pyx_v_content;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_splitlines, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }

  /* "Cython/Compiler/Code.py":955
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'             # <<<<<<<<<<<<<<
 *         for line in content.splitlines())
 * 
*/
  __pyx_t_2 = __pyx_pf_6Cython_8Compiler_4Code_14_wrap_c_string_genexpr(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":954
 *     """
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(             # <<<<<<<<<<<<<<
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'
 *         for line in content.splitlines())
*/
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__9, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":946
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CSTRING',
 *     regex=r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)',
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code._wrap_c_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_content);
  __Pyx_XDECREF(__pyx_gb_6Cython_8Compiler_4Code_14_wrap_c_string_2generator3);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":959
 * 
 * 
 * @add_macro_processor()             # <<<<<<<<<<<<<<
 * def _format_impl_code(utility_code: UtilityCode, _, impl):
 *     return utility_code.format_code(impl)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_9_format_impl_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_9_format_impl_code = {"_format_impl_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_9_format_impl_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_9_format_impl_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility_code = 0;
  CYTHON_UNUSED PyObject *__pyx_v__ = 0;
  PyObject *__pyx_v_impl = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_format_impl_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_utility_code,&__pyx_mstate_global->__pyx_n_u__26,&__pyx_mstate_global->__pyx_n_u_impl,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 959, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_format_impl_code", 0) < (0)) __PYX_ERR(0, 959, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_format_impl_code", 1, 3, 3, i); __PYX_ERR(0, 959, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 959, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 959, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 959, __pyx_L3_error)
    }
    __pyx_v_utility_code = ((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)values[0]);
    __pyx_v__ = values[1];
    __pyx_v_impl = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_format_impl_code", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 959, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code._format_impl_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_utility_code), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, 0, "utility_code", 0))) __PYX_ERR(0, 960, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_8_format_impl_code(__pyx_self, __pyx_v_utility_code, __pyx_v__, __pyx_v_impl);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_8_format_impl_code(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility_code, CYTHON_UNUSED PyObject *__pyx_v__, PyObject *__pyx_v_impl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_format_impl_code", 0);

  /* "Cython/Compiler/Code.py":961
 * @add_macro_processor()
 * def _format_impl_code(utility_code: UtilityCode, _, impl):
 *     return utility_code.format_code(impl)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_utility_code->__pyx_base.__pyx_vtab)->__pyx_base.format_code(((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *)__pyx_v_utility_code), __pyx_v_impl, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":959
 * 
 * 
 * @add_macro_processor()             # <<<<<<<<<<<<<<
 * def _format_impl_code(utility_code: UtilityCode, _, impl):
 *     return utility_code.format_code(impl)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code._format_impl_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":964
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CALL_UNBOUND_METHOD',
 *     is_module_specific=True,
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11_inject_unbound_method(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_10_inject_unbound_method, "Replace 'UNBOUND_METHOD(type, \"name\")' by a constant Python identifier cname.\n    ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11_inject_unbound_method = {"_inject_unbound_method", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11_inject_unbound_method, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_10_inject_unbound_method};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11_inject_unbound_method(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_output = 0;
  PyObject *__pyx_v_matchobj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_inject_unbound_method (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_output,&__pyx_mstate_global->__pyx_n_u_matchobj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 964, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 964, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 964, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_inject_unbound_method", 0) < (0)) __PYX_ERR(0, 964, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_inject_unbound_method", 1, 2, 2, i); __PYX_ERR(0, 964, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 964, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 964, __pyx_L3_error)
    }
    __pyx_v_output = values[0];
    __pyx_v_matchobj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_inject_unbound_method", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 964, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_unbound_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_10_inject_unbound_method(__pyx_self, __pyx_v_output, __pyx_v_matchobj);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_10_inject_unbound_method(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_v_type_cname = NULL;
  PyObject *__pyx_v_method_name = NULL;
  PyObject *__pyx_v_obj_cname = NULL;
  PyObject *__pyx_v_args = NULL;
  PyObject *__pyx_8genexpr5__pyx_v_arg = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_inject_unbound_method", 0);

  /* "Cython/Compiler/Code.py":979
 *     """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *     """
 *     type_cname, method_name, obj_cname, args = matchobj.groups()             # <<<<<<<<<<<<<<
 *     type_cname = '&%s' % type_cname
 *     args = [arg.strip() for arg in args[1:].split(',')] if args else []
*/
  __pyx_t_2 = __pyx_v_matchobj;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_groups, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 4)) {
      if (size > 4) __Pyx_RaiseTooManyValuesError(4);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 979, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3);
      __Pyx_INCREF(__pyx_t_6);
    } else {
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 3, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 979, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_6);
    }
    #else
    {
      Py_ssize_t i;
      PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_6};
      for (i=0; i < 4; i++) {
        PyObject* item = __Pyx_PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 979, __pyx_L1_error)
        __Pyx_GOTREF(item);
        *(temps[i]) = item;
      }
    }
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    Py_ssize_t index = -1;
    PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_4,&__pyx_t_5,&__pyx_t_6};
    __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7);
    for (index=0; index < 4; index++) {
      PyObject* item = __pyx_t_8(__pyx_t_7); if (unlikely(!item)) goto __pyx_L3_unpacking_failed;
      __Pyx_GOTREF(item);
      *(temps[index]) = item;
    }
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 4) < (0)) __PYX_ERR(0, 979, __pyx_L1_error)
    __pyx_t_8 = NULL;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 979, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_type_cname = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_method_name = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_v_obj_cname = __pyx_t_5;
  __pyx_t_5 = 0;
  __pyx_v_args = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":980
 *     """
 *     type_cname, method_name, obj_cname, args = matchobj.groups()
 *     type_cname = '&%s' % type_cname             # <<<<<<<<<<<<<<
 *     args = [arg.strip() for arg in args[1:].split(',')] if args else []
 *     assert len(args) < 3, f"CALL_UNBOUND_METHOD() does not support {len(args):d} call arguments"
*/
  __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_5, __pyx_v_type_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_type_cname, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":981
 *     type_cname, method_name, obj_cname, args = matchobj.groups()
 *     type_cname = '&%s' % type_cname
 *     args = [arg.strip() for arg in args[1:].split(',')] if args else []             # <<<<<<<<<<<<<<
 *     assert len(args) < 3, f"CALL_UNBOUND_METHOD() does not support {len(args):d} call arguments"
 *     return output.cached_unbound_method_call_code(
*/
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_args); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 981, __pyx_L1_error)
  if (__pyx_t_9) {
    { /* enter inner scope */
      __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 981, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_args, 1, 0, NULL, NULL, &__pyx_mstate_global->__pyx_slice[1], 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 981, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __pyx_t_2;
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__35};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 981, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
        __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2);
        __pyx_t_10 = 0;
        __pyx_t_11 = NULL;
      } else {
        __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 981, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 981, __pyx_L7_error)
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      for (;;) {
        if (likely(!__pyx_t_11)) {
          if (likely(PyList_CheckExact(__pyx_t_2))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 981, __pyx_L7_error)
              #endif
              if (__pyx_t_10 >= __pyx_temp) break;
            }
            __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_10;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 981, __pyx_L7_error)
              #endif
              if (__pyx_t_10 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10));
            #else
            __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10);
            #endif
            ++__pyx_t_10;
          }
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 981, __pyx_L7_error)
        } else {
          __pyx_t_5 = __pyx_t_11(__pyx_t_2);
          if (unlikely(!__pyx_t_5)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 981, __pyx_L7_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_arg, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_4 = __pyx_8genexpr5__pyx_v_arg;
        __Pyx_INCREF(__pyx_t_4);
        __pyx_t_3 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 981, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 981, __pyx_L7_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_arg); __pyx_8genexpr5__pyx_v_arg = 0;
      goto __pyx_L11_exit_scope;
      __pyx_L7_error:;
      __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_arg); __pyx_8genexpr5__pyx_v_arg = 0;
      goto __pyx_L1_error;
      __pyx_L11_exit_scope:;
    } /* exit inner scope */
    __pyx_t_1 = __pyx_t_6;
    __pyx_t_6 = 0;
  } else {
    __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = __pyx_t_6;
    __pyx_t_6 = 0;
  }
  __Pyx_DECREF_SET(__pyx_v_args, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":982
 *     type_cname = '&%s' % type_cname
 *     args = [arg.strip() for arg in args[1:].split(',')] if args else []
 *     assert len(args) < 3, f"CALL_UNBOUND_METHOD() does not support {len(args):d} call arguments"             # <<<<<<<<<<<<<<
 *     return output.cached_unbound_method_call_code(
 *         f"{Naming.modulestateglobal_cname}->",
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_10 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 982, __pyx_L1_error)
    __pyx_t_9 = (__pyx_t_10 < 3);
    if (unlikely(!__pyx_t_9)) {
      __pyx_t_10 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 982, __pyx_L1_error)
      __pyx_t_1 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_10, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_12[0] = __pyx_mstate_global->__pyx_kp_u_CALL_UNBOUND_METHOD_does_not_sup;
      __pyx_t_12[1] = __pyx_t_1;
      __pyx_t_12[2] = __pyx_mstate_global->__pyx_kp_u_call_arguments;
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_12, 3, 39 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 15, 127);
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 982, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_6, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(0, 982, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 982, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":983
 *     args = [arg.strip() for arg in args[1:].split(',')] if args else []
 *     assert len(args) < 3, f"CALL_UNBOUND_METHOD() does not support {len(args):d} call arguments"
 *     return output.cached_unbound_method_call_code(             # <<<<<<<<<<<<<<
 *         f"{Naming.modulestateglobal_cname}->",
 *         obj_cname, type_cname, method_name, args)
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_v_output;
  __Pyx_INCREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":984
 *     assert len(args) < 3, f"CALL_UNBOUND_METHOD() does not support {len(args):d} call arguments"
 *     return output.cached_unbound_method_call_code(
 *         f"{Naming.modulestateglobal_cname}->",             # <<<<<<<<<<<<<<
 *         obj_cname, type_cname, method_name, args)
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestateglobal_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__36); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":985
 *     return output.cached_unbound_method_call_code(
 *         f"{Naming.modulestateglobal_cname}->",
 *         obj_cname, type_cname, method_name, args)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[6] = {__pyx_t_1, __pyx_t_2, __pyx_v_obj_cname, __pyx_v_type_cname, __pyx_v_method_name, __pyx_v_args};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cached_unbound_method_call_code, __pyx_callargs+__pyx_t_3, (6-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":964
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CALL_UNBOUND_METHOD',
 *     is_module_specific=True,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_unbound_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_type_cname);
  __Pyx_XDECREF(__pyx_v_method_name);
  __Pyx_XDECREF(__pyx_v_obj_cname);
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_arg);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":988
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'PYIDENT', 'PYUNICODE',
 *     is_module_specific=True,
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13_inject_string_constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_12_inject_string_constant, "Replace 'PYIDENT(\"xyz\")' by a constant Python identifier cname.\n    ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13_inject_string_constant = {"_inject_string_constant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13_inject_string_constant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_12_inject_string_constant};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13_inject_string_constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_output = 0;
  PyObject *__pyx_v_matchobj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_inject_string_constant (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_output,&__pyx_mstate_global->__pyx_n_u_matchobj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 988, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_inject_string_constant", 0) < (0)) __PYX_ERR(0, 988, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_inject_string_constant", 1, 2, 2, i); __PYX_ERR(0, 988, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 988, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 988, __pyx_L3_error)
    }
    __pyx_v_output = values[0];
    __pyx_v_matchobj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_inject_string_constant", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 988, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_string_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_12_inject_string_constant(__pyx_self, __pyx_v_output, __pyx_v_matchobj);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_12_inject_string_constant(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_v_str_type = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_inject_string_constant", 0);

  /* "Cython/Compiler/Code.py":996
 *     """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *     """
 *     str_type, name = matchobj.groups()             # <<<<<<<<<<<<<<
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,
*/
  __pyx_t_2 = __pyx_v_matchobj;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_groups, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 996, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_4);
    } else {
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 996, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 996, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_4);
    }
    #else
    __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    index = 0; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < (0)) __PYX_ERR(0, 996, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 996, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_str_type = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_name = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":997
 *     """
 *     str_type, name = matchobj.groups()
 *     return "%s->%s" % (             # <<<<<<<<<<<<<<
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(
*/
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":998
 *     str_type, name = matchobj.groups()
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,             # <<<<<<<<<<<<<<
 *         output.get_py_string_const(
 *             StringEncoding.EncodedString(name), identifier=str_type == 'IDENT').cname)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestateglobal_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":999
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(             # <<<<<<<<<<<<<<
 *             StringEncoding.EncodedString(name), identifier=str_type == 'IDENT').cname)
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_mstate_global->__pyx_n_u_get_py_string_const); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":1000
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(
 *             StringEncoding.EncodedString(name), identifier=str_type == 'IDENT').cname)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_mstate_global->__pyx_n_u_EncodedString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":999
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(             # <<<<<<<<<<<<<<
 *             StringEncoding.EncodedString(name), identifier=str_type == 'IDENT').cname)
 * 
*/
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 999, __pyx_L1_error);
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1000
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(
 *             StringEncoding.EncodedString(name), identifier=str_type == 'IDENT').cname)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyObject_RichCompare(__pyx_v_str_type, __pyx_mstate_global->__pyx_n_u_IDENT, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1000, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_identifier, __pyx_t_7) < (0)) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":999
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(             # <<<<<<<<<<<<<<
 *             StringEncoding.EncodedString(name), identifier=str_type == 'IDENT').cname)
 * 
*/
  __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1000
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(
 *             StringEncoding.EncodedString(name), identifier=str_type == 'IDENT').cname)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_5), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_8[0] = __pyx_t_4;
  __pyx_t_8[1] = __pyx_mstate_global->__pyx_kp_u__36;
  __pyx_t_8[2] = __pyx_t_7;

  /* "Cython/Compiler/Code.py":997
 *     """
 *     str_type, name = matchobj.groups()
 *     return "%s->%s" % (             # <<<<<<<<<<<<<<
 *         Naming.modulestateglobal_cname,
 *         output.get_py_string_const(
*/
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_8, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":988
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'PYIDENT', 'PYUNICODE',
 *     is_module_specific=True,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_string_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_type);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1003
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'EMPTY',
 *     # As long as we use the same C access macros for these names, they are not module specific.
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15_inject_empty_collection_constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_14_inject_empty_collection_constant, "Replace 'EMPTY(bytes|tuple|...)' by a constant Python identifier cname.\n    ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15_inject_empty_collection_constant = {"_inject_empty_collection_constant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15_inject_empty_collection_constant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_14_inject_empty_collection_constant};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15_inject_empty_collection_constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_output = 0;
  PyObject *__pyx_v_matchobj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_inject_empty_collection_constant (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_output,&__pyx_mstate_global->__pyx_n_u_matchobj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1003, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_inject_empty_collection_constant", 0) < (0)) __PYX_ERR(0, 1003, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_inject_empty_collection_constant", 1, 2, 2, i); __PYX_ERR(0, 1003, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1003, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1003, __pyx_L3_error)
    }
    __pyx_v_output = values[0];
    __pyx_v_matchobj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_inject_empty_collection_constant", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1003, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_empty_collection_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_14_inject_empty_collection_constant(__pyx_self, __pyx_v_output, __pyx_v_matchobj);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_14_inject_empty_collection_constant(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_v_type_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_inject_empty_collection_constant", 0);

  /* "Cython/Compiler/Code.py":1012
 *     """Replace 'EMPTY(bytes|tuple|...)' by a constant Python identifier cname.
 *     """
 *     type_name = matchobj.group(1)             # <<<<<<<<<<<<<<
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,
*/
  __pyx_t_2 = __pyx_v_matchobj;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_int_1};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_group, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_type_name = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1013
 *     """
 *     type_name = matchobj.group(1)
 *     return "%s->%s" % (             # <<<<<<<<<<<<<<
 *         Naming.modulestateglobal_cname,
 *         getattr(Naming, f'empty_{type_name}'))
*/
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":1014
 *     type_name = matchobj.group(1)
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,             # <<<<<<<<<<<<<<
 *         getattr(Naming, f'empty_{type_name}'))
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestateglobal_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1015
 *     return "%s->%s" % (
 *         Naming.modulestateglobal_cname,
 *         getattr(Naming, f'empty_{type_name}'))             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_1 = __pyx_v_6Cython_8Compiler_4Code_Naming;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_type_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_empty, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_GetAttr(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_4), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6[0] = __pyx_t_2;
  __pyx_t_6[1] = __pyx_mstate_global->__pyx_kp_u__36;
  __pyx_t_6[2] = __pyx_t_5;

  /* "Cython/Compiler/Code.py":1013
 *     """
 *     type_name = matchobj.group(1)
 *     return "%s->%s" % (             # <<<<<<<<<<<<<<
 *         Naming.modulestateglobal_cname,
 *         getattr(Naming, f'empty_{type_name}'))
*/
  __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1003
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'EMPTY',
 *     # As long as we use the same C access macros for these names, they are not module specific.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_empty_collection_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_type_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1018
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CGLOBAL',  # 'NAMED_CGLOBAL',  # first is part of second and thus not needed
 *     is_module_specific=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_17_inject_cglobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_17_inject_cglobal = {"_inject_cglobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_17_inject_cglobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_17_inject_cglobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_output = 0;
  PyObject *__pyx_v_matchobj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_inject_cglobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_output,&__pyx_mstate_global->__pyx_n_u_matchobj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1018, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1018, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1018, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_inject_cglobal", 0) < (0)) __PYX_ERR(0, 1018, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_inject_cglobal", 1, 2, 2, i); __PYX_ERR(0, 1018, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1018, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1018, __pyx_L3_error)
    }
    __pyx_v_output = values[0];
    __pyx_v_matchobj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_inject_cglobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1018, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_cglobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_16_inject_cglobal(__pyx_self, __pyx_v_output, __pyx_v_matchobj);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_16_inject_cglobal(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_output, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_v_is_named = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  int __pyx_t_7;
  PyObject *__pyx_t_8[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_inject_cglobal", 0);

  /* "Cython/Compiler/Code.py":1024
 * )
 * def _inject_cglobal(output, matchobj):
 *     is_named, name = matchobj.groups()             # <<<<<<<<<<<<<<
 *     if is_named:
 *         name = getattr(Naming, name)
*/
  __pyx_t_2 = __pyx_v_matchobj;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_groups, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 1024, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_4);
    } else {
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1024, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_4);
    }
    #else
    __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    index = 0; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < (0)) __PYX_ERR(0, 1024, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 1024, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_is_named = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_name = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1025
 * def _inject_cglobal(output, matchobj):
 *     is_named, name = matchobj.groups()
 *     if is_named:             # <<<<<<<<<<<<<<
 *         name = getattr(Naming, name)
 *     return f"{Naming.modulestateglobal_cname}->{name}"
*/
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_is_named); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1025, __pyx_L1_error)
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":1026
 *     is_named, name = matchobj.groups()
 *     if is_named:
 *         name = getattr(Naming, name)             # <<<<<<<<<<<<<<
 *     return f"{Naming.modulestateglobal_cname}->{name}"
 * 
*/
    __pyx_t_1 = __pyx_v_6Cython_8Compiler_4Code_Naming;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_GetAttr(__pyx_t_1, __pyx_v_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1025
 * def _inject_cglobal(output, matchobj):
 *     is_named, name = matchobj.groups()
 *     if is_named:             # <<<<<<<<<<<<<<
 *         name = getattr(Naming, name)
 *     return f"{Naming.modulestateglobal_cname}->{name}"
*/
  }

  /* "Cython/Compiler/Code.py":1027
 *     if is_named:
 *         name = getattr(Naming, name)
 *     return f"{Naming.modulestateglobal_cname}->{name}"             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestateglobal_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8[0] = __pyx_t_1;
  __pyx_t_8[1] = __pyx_mstate_global->__pyx_kp_u__36;
  __pyx_t_8[2] = __pyx_t_4;
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_8, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1018
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CGLOBAL',  # 'NAMED_CGLOBAL',  # first is part of second and thus not needed
 *     is_module_specific=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code._inject_cglobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_is_named);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1030
 * 
 * 
 * @add_macro_processor()             # <<<<<<<<<<<<<<
 * def process_utility_ccode(utility_code, _, code_string):
 *     """Entry point for code processors, must be defined last.
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19process_utility_ccode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_18process_utility_ccode, "Entry point for code processors, must be defined last.\n    ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_19process_utility_ccode = {"process_utility_ccode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19process_utility_ccode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_18process_utility_ccode};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_19process_utility_ccode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_utility_code = 0;
  CYTHON_UNUSED PyObject *__pyx_v__ = 0;
  PyObject *__pyx_v_code_string = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("process_utility_ccode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_utility_code,&__pyx_mstate_global->__pyx_n_u__26,&__pyx_mstate_global->__pyx_n_u_code_string,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1030, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1030, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1030, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1030, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "process_utility_ccode", 0) < (0)) __PYX_ERR(0, 1030, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("process_utility_ccode", 1, 3, 3, i); __PYX_ERR(0, 1030, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1030, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1030, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1030, __pyx_L3_error)
    }
    __pyx_v_utility_code = values[0];
    __pyx_v__ = values[1];
    __pyx_v_code_string = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("process_utility_ccode", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1030, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.process_utility_ccode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_18process_utility_ccode(__pyx_self, __pyx_v_utility_code, __pyx_v__, __pyx_v_code_string);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18process_utility_ccode(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_utility_code, CYTHON_UNUSED PyObject *__pyx_v__, PyObject *__pyx_v_code_string) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("process_utility_ccode", 0);

  /* "Cython/Compiler/Code.py":1034
 *     """Entry point for code processors, must be defined last.
 *     """
 *     return code_string             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_code_string);
  __pyx_r = __pyx_v_code_string;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1030
 * 
 * 
 * @add_macro_processor()             # <<<<<<<<<<<<<<
 * def process_utility_ccode(utility_code, _, code_string):
 *     """Entry point for code processors, must be defined last.
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1037
 * 
 * 
 * def sub_tempita(s, context, file=None, name=None, __cache={}):             # <<<<<<<<<<<<<<
 *     "Run tempita on string s with given context."
 *     if not s:
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_28__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__defaults__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, Py_None) != (0)) __PYX_ERR(0, 1037, __pyx_L1_error);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None) != (0)) __PYX_ERR(0, 1037, __pyx_L1_error);
  __Pyx_INCREF(__Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0);
  __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0) != (0)) __PYX_ERR(0, 1037, __pyx_L1_error);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 1037, __pyx_L1_error);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 1037, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_21sub_tempita(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_20sub_tempita, "Run tempita on string s with given context.");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_21sub_tempita = {"sub_tempita", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_21sub_tempita, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_20sub_tempita};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_21sub_tempita(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_v_file = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v___cache = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sub_tempita (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_s_4,&__pyx_mstate_global->__pyx_n_u_context,&__pyx_mstate_global->__pyx_n_u_file_2,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_cache,0};
    struct __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self);
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1037, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "sub_tempita", 0) < (0)) __PYX_ERR(0, 1037, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(__pyx_dynamic_args->arg0);
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("sub_tempita", 0, 2, 5, i); __PYX_ERR(0, 1037, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1037, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1037, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(__pyx_dynamic_args->arg0);
    }
    __pyx_v_s = values[0];
    __pyx_v_context = values[1];
    __pyx_v_file = values[2];
    __pyx_v_name = values[3];
    __pyx_v___cache = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sub_tempita", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 1037, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.sub_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_20sub_tempita(__pyx_self, __pyx_v_s, __pyx_v_context, __pyx_v_file, __pyx_v_name, __pyx_v___cache);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20sub_tempita(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context, PyObject *__pyx_v_file, PyObject *__pyx_v_name, PyObject *__pyx_v___cache) {
  PyObject *__pyx_v_template = NULL;
  PyObject *__pyx_v_Template = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5[3];
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  Py_ssize_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  size_t __pyx_t_16;
  PyObject *__pyx_t_17 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sub_tempita", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "Cython/Compiler/Code.py":1039
 * def sub_tempita(s, context, file=None, name=None, __cache={}):
 *     "Run tempita on string s with given context."
 *     if not s:             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_s); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1039, __pyx_L1_error)
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1040
 *     "Run tempita on string s with given context."
 *     if not s:
 *         return None             # <<<<<<<<<<<<<<
 * 
 *     if file:
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1039
 * def sub_tempita(s, context, file=None, name=None, __cache={}):
 *     "Run tempita on string s with given context."
 *     if not s:             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  }

  /* "Cython/Compiler/Code.py":1042
 *         return None
 * 
 *     if file:             # <<<<<<<<<<<<<<
 *         name = f"{file}:{name}"
 *     if name:
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_file); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1042, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1043
 * 
 *     if file:
 *         name = f"{file}:{name}"             # <<<<<<<<<<<<<<
 *     if name:
 *         context['__name'] = name
*/
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_file, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5[0] = __pyx_t_3;
    __pyx_t_5[1] = __pyx_mstate_global->__pyx_kp_u__6;
    __pyx_t_5[2] = __pyx_t_4;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":1042
 *         return None
 * 
 *     if file:             # <<<<<<<<<<<<<<
 *         name = f"{file}:{name}"
 *     if name:
*/
  }

  /* "Cython/Compiler/Code.py":1044
 *     if file:
 *         name = f"{file}:{name}"
 *     if name:             # <<<<<<<<<<<<<<
 *         context['__name'] = name
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1044, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1045
 *         name = f"{file}:{name}"
 *     if name:
 *         context['__name'] = name             # <<<<<<<<<<<<<<
 * 
 *     try:
*/
    if (unlikely((PyObject_SetItem(__pyx_v_context, __pyx_mstate_global->__pyx_n_u_name_3, __pyx_v_name) < 0))) __PYX_ERR(0, 1045, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":1044
 *     if file:
 *         name = f"{file}:{name}"
 *     if name:             # <<<<<<<<<<<<<<
 *         context['__name'] = name
 * 
*/
  }

  /* "Cython/Compiler/Code.py":1047
 *         context['__name'] = name
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         template = __cache[s]
 *     except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_9);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":1048
 * 
 *     try:
 *         template = __cache[s]             # <<<<<<<<<<<<<<
 *     except KeyError:
 *         from ..Tempita import Template
*/
      __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v___cache, __pyx_v_s); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1048, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_v_template = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1047
 *         context['__name'] = name
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         template = __cache[s]
 *     except KeyError:
*/
    }
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    goto __pyx_L11_try_end;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":1049
 *     try:
 *         template = __cache[s]
 *     except KeyError:             # <<<<<<<<<<<<<<
 *         from ..Tempita import Template
 *         template = __cache[s] = Template(s, name=name)
*/
    __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_10) {
      __Pyx_AddTraceback("Cython.Compiler.Code.sub_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 1049, __pyx_L8_except_error)
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);

      /* "Cython/Compiler/Code.py":1050
 *         template = __cache[s]
 *     except KeyError:
 *         from ..Tempita import Template             # <<<<<<<<<<<<<<
 *         template = __cache[s] = Template(s, name=name)
 * 
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Template};
        __pyx_t_12 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_Tempita, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Tempita, 2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1050, __pyx_L8_except_error)
      }
      __pyx_t_11 = __pyx_t_12;
      __Pyx_GOTREF(__pyx_t_11);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Template};
        __pyx_t_13 = 0; {
          __pyx_t_14 = __Pyx_ImportFrom(__pyx_t_11, __pyx_imported_names[__pyx_t_13]); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1050, __pyx_L8_except_error)
          __Pyx_GOTREF(__pyx_t_14);
          switch (__pyx_t_13) {
            case 0:
            __Pyx_INCREF(__pyx_t_14);
            __pyx_v_Template = __pyx_t_14;
            break;
            default:;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "Cython/Compiler/Code.py":1051
 *     except KeyError:
 *         from ..Tempita import Template
 *         template = __cache[s] = Template(s, name=name)             # <<<<<<<<<<<<<<
 * 
 *     return template.substitute(context)
*/
      __pyx_t_14 = NULL;
      __Pyx_INCREF(__pyx_v_Template);
      __pyx_t_15 = __pyx_v_Template; 
      __pyx_t_16 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_15))) {
        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15);
        assert(__pyx_t_14);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_15);
        __Pyx_INCREF(__pyx_t_14);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_15, __pyx__function);
        __pyx_t_16 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_14, __pyx_v_s};
        __pyx_t_17 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1051, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_17);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_v_name, __pyx_t_17, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 1051, __pyx_L8_except_error)
        __pyx_t_11 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_15, __pyx_callargs+__pyx_t_16, (2-__pyx_t_16) | (__pyx_t_16*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_17);
        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1051, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_11);
      }
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_XDECREF_SET(__pyx_v_template, __pyx_t_11);
      if (unlikely((PyObject_SetItem(__pyx_v___cache, __pyx_v_s, __pyx_t_11) < 0))) __PYX_ERR(0, 1051, __pyx_L8_except_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L7_exception_handled;
    }
    goto __pyx_L8_except_error;

    /* "Cython/Compiler/Code.py":1047
 *         context['__name'] = name
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         template = __cache[s]
 *     except KeyError:
*/
    __pyx_L8_except_error:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L1_error;
    __pyx_L7_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    __pyx_L11_try_end:;
  }

  /* "Cython/Compiler/Code.py":1053
 *         template = __cache[s] = Template(s, name=name)
 * 
 *     return template.substitute(context)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __pyx_v_template;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_16 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_context};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_substitute, __pyx_callargs+__pyx_t_16, (2-__pyx_t_16) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1037
 * 
 * 
 * def sub_tempita(s, context, file=None, name=None, __cache={}):             # <<<<<<<<<<<<<<
 *     "Run tempita on string s with given context."
 *     if not s:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_AddTraceback("Cython.Compiler.Code.sub_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_template);
  __Pyx_XDECREF(__pyx_v_Template);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1057
 * 
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             context = {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_proto = 0;
  PyObject *__pyx_v_impl = 0;
  PyObject *__pyx_v_init = 0;
  PyObject *__pyx_v_file = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[7] = {0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_proto,&__pyx_mstate_global->__pyx_n_u_impl,&__pyx_mstate_global->__pyx_n_u_init,&__pyx_mstate_global->__pyx_n_u_file_2,&__pyx_mstate_global->__pyx_n_u_context,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1057, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "__init__", 1) < (0)) __PYX_ERR(0, 1057, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 7, i); __PYX_ERR(0, 1057, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1057, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_name = values[1];
    __pyx_v_proto = values[2];
    __pyx_v_impl = values[3];
    __pyx_v_init = values[4];
    __pyx_v_file = values[5];
    __pyx_v_context = values[6];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 7, __pyx_nargs); __PYX_ERR(0, 1057, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("Cython.Compiler.Code.TempitaUtilityCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode___init__(__pyx_self, __pyx_v_self, __pyx_v_name, __pyx_v_proto, __pyx_v_impl, __pyx_v_init, __pyx_v_file, __pyx_v_context, __pyx_v_kwargs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_proto, PyObject *__pyx_v_impl, PyObject *__pyx_v_init, PyObject *__pyx_v_file, PyObject *__pyx_v_context, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_INCREF(__pyx_v_proto);
  __Pyx_INCREF(__pyx_v_impl);
  __Pyx_INCREF(__pyx_v_init);
  __Pyx_INCREF(__pyx_v_context);

  /* "Cython/Compiler/Code.py":1058
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             context = {}
 *         else:
*/
  __pyx_t_1 = (__pyx_v_context == Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1059
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:
 *             context = {}             # <<<<<<<<<<<<<<
 *         else:
 *             # prevent changes propagating back if context is shared between multiple utility codes.
*/
    __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_context, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1058
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             context = {}
 *         else:
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1062
 *         else:
 *             # prevent changes propagating back if context is shared between multiple utility codes.
 *             context = context.copy()             # <<<<<<<<<<<<<<
 *         proto = sub_tempita(proto, context, file, name)
 *         impl = sub_tempita(impl, context, file, name)
*/
  /*else*/ {
    __pyx_t_3 = __pyx_v_context;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1062, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF_SET(__pyx_v_context, __pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1063
 *             # prevent changes propagating back if context is shared between multiple utility codes.
 *             context = context.copy()
 *         proto = sub_tempita(proto, context, file, name)             # <<<<<<<<<<<<<<
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_sub_tempita); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_3, __pyx_v_proto, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_4, (5-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF_SET(__pyx_v_proto, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1064
 *             context = context.copy()
 *         proto = sub_tempita(proto, context, file, name)
 *         impl = sub_tempita(impl, context, file, name)             # <<<<<<<<<<<<<<
 *         init = sub_tempita(init, context, file, name)
 *         super().__init__(
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sub_tempita); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_5, __pyx_v_impl, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (5-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF_SET(__pyx_v_impl, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1065
 *         proto = sub_tempita(proto, context, file, name)
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)             # <<<<<<<<<<<<<<
 *         super().__init__(
 *             proto, impl, init=init, name=name, file=file, **kwargs)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_sub_tempita); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_3, __pyx_v_init, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_4, (5-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1065, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF_SET(__pyx_v_init, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1066
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)
 *         super().__init__(             # <<<<<<<<<<<<<<
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
*/
  __pyx_t_5 = NULL;
  __pyx_t_6 = NULL;
  __pyx_t_7 = __Pyx_CyFunction_GetClassObj(__pyx_self);
  if (!__pyx_t_7) { PyErr_SetString(PyExc_RuntimeError, "super(): empty __class__ cell"); __PYX_ERR(0, 1066, __pyx_L1_error) }
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_7, __pyx_v_self};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_super, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_init_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1067
 *         init = sub_tempita(init, context, file, name)
 *         super().__init__(
 *             proto, impl, init=init, name=name, file=file, **kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
*/
  __pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_init, __pyx_v_init) < (0)) __PYX_ERR(0, 1067, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(0, 1067, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_file_2, __pyx_v_file) < (0)) __PYX_ERR(0, 1067, __pyx_L1_error)
  __pyx_t_3 = __pyx_t_6;
  __pyx_t_6 = 0;
  if (__Pyx_MergeKeywords(__pyx_t_3, __pyx_v_kwargs) < (0)) __PYX_ERR(0, 1067, __pyx_L1_error)
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_proto, __pyx_v_impl};
    __pyx_t_2 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1057
 * 
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             context = {}
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("Cython.Compiler.Code.TempitaUtilityCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_proto);
  __Pyx_XDECREF(__pyx_v_impl);
  __Pyx_XDECREF(__pyx_v_init);
  __Pyx_XDECREF(__pyx_v_context);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1069
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_30__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__defaults__", 0);
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":1070
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):             # <<<<<<<<<<<<<<
 *         context_key = tuple(sorted(context.items())) if context else None
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, Py_None) != (0)) __PYX_ERR(0, 1069, __pyx_L1_error);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None) != (0)) __PYX_ERR(0, 1069, __pyx_L1_error);
  __Pyx_INCREF(__Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0);
  __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0) != (0)) __PYX_ERR(0, 1069, __pyx_L1_error);

  /* "Cython/Compiler/Code.py":1069
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None
*/
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 1069, __pyx_L1_error);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 1069, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached = {"load_cached", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_utility_code_name = 0;
  PyObject *__pyx_v_from_file = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_v__TempitaUtilityCode__cache = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_cached (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cls,&__pyx_mstate_global->__pyx_n_u_utility_code_name,&__pyx_mstate_global->__pyx_n_u_from_file,&__pyx_mstate_global->__pyx_n_u_context,&__pyx_mstate_global->__pyx_n_u_TempitaUtilityCode__cache,0};
    struct __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self);
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1069, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "load_cached", 0) < (0)) __PYX_ERR(0, 1069, __pyx_L3_error)

      /* "Cython/Compiler/Code.py":1070
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):             # <<<<<<<<<<<<<<
 *         context_key = tuple(sorted(context.items())) if context else None
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(__pyx_dynamic_args->arg0);
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 5, i); __PYX_ERR(0, 1069, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1069, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1069, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1069, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(__pyx_dynamic_args->arg0);
    }
    __pyx_v_cls = values[0];
    __pyx_v_utility_code_name = values[1];
    __pyx_v_from_file = values[2];
    __pyx_v_context = values[3];
    __pyx_v__TempitaUtilityCode__cache = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 1069, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.TempitaUtilityCode.load_cached", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode_2load_cached(__pyx_self, __pyx_v_cls, __pyx_v_utility_code_name, __pyx_v_from_file, __pyx_v_context, __pyx_v__TempitaUtilityCode__cache);

  /* "Cython/Compiler/Code.py":1069
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode_2load_cached(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_utility_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_context, PyObject *__pyx_v__TempitaUtilityCode__cache) {
  PyObject *__pyx_v_context_key = NULL;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_code = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  Py_hash_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("load_cached", 0);

  /* "Cython/Compiler/Code.py":1071
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None             # <<<<<<<<<<<<<<
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
 *         key = (cls, from_file, utility_code_name, context_key)
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_context); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1071, __pyx_L1_error)
  if (__pyx_t_2) {
    __pyx_t_4 = __pyx_v_context;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_items, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_4 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely((PyList_Sort(__pyx_t_4) < 0))) __PYX_ERR(0, 1071, __pyx_L1_error)
    __pyx_t_3 = PyList_AsTuple(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(Py_None);
    __pyx_t_1 = Py_None;
  }
  __pyx_v_context_key = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1072
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None
 *         assert hash(context_key) is not None  # raise TypeError if not hashable             # <<<<<<<<<<<<<<
 *         key = (cls, from_file, utility_code_name, context_key)
 *         try:
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_6 = PyObject_Hash(__pyx_v_context_key); if (unlikely(__pyx_t_6 == ((Py_hash_t)-1))) __PYX_ERR(0, 1072, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyLong_FromHash_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = (__pyx_t_1 != Py_None);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(0, 1072, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 1072, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":1073
 *         context_key = tuple(sorted(context.items())) if context else None
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
 *         key = (cls, from_file, utility_code_name, context_key)             # <<<<<<<<<<<<<<
 *         try:
 *             return __cache[key]
*/
  __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_cls);
  __Pyx_GIVEREF(__pyx_v_cls);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cls) != (0)) __PYX_ERR(0, 1073, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_from_file);
  __Pyx_GIVEREF(__pyx_v_from_file);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_from_file) != (0)) __PYX_ERR(0, 1073, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_utility_code_name);
  __Pyx_GIVEREF(__pyx_v_utility_code_name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_utility_code_name) != (0)) __PYX_ERR(0, 1073, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_context_key);
  __Pyx_GIVEREF(__pyx_v_context_key);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_context_key) != (0)) __PYX_ERR(0, 1073, __pyx_L1_error);
  __pyx_v_key = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1074
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
 *         key = (cls, from_file, utility_code_name, context_key)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_9);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":1075
 *         key = (cls, from_file, utility_code_name, context_key)
 *         try:
 *             return __cache[key]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             pass
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v__TempitaUtilityCode__cache, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1075, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L7_try_return;

      /* "Cython/Compiler/Code.py":1074
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
 *         key = (cls, from_file, utility_code_name, context_key)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
*/
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1076
 *         try:
 *             return __cache[key]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file, context=context)
*/
    __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_10) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "Cython/Compiler/Code.py":1074
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
 *         key = (cls, from_file, utility_code_name, context_key)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L0;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
  }

  /* "Cython/Compiler/Code.py":1078
 *         except KeyError:
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file, context=context)             # <<<<<<<<<<<<<<
 *         return code
 * 
*/
  __pyx_t_3 = __pyx_v_cls;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_utility_code_name, __pyx_v_from_file};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_context, __pyx_v_context, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 1078, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_load, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_code = __pyx_t_1;
  if (unlikely((PyObject_SetItem(__pyx_v__TempitaUtilityCode__cache, __pyx_v_key, __pyx_t_1) < 0))) __PYX_ERR(0, 1078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1079
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file, context=context)
 *         return code             # <<<<<<<<<<<<<<
 * 
 *     def none_or_sub(self, s, context):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_code);
  __pyx_r = __pyx_v_code;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1069
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.TempitaUtilityCode.load_cached", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_key);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_code);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1081
 *         return code
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_5none_or_sub(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_18TempitaUtilityCode_4none_or_sub, "\n        Format a string in this utility code with context. If None, do nothing.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_5none_or_sub = {"none_or_sub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_5none_or_sub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_18TempitaUtilityCode_4none_or_sub};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_5none_or_sub(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_context = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("none_or_sub (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_s_4,&__pyx_mstate_global->__pyx_n_u_context,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1081, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "none_or_sub", 0) < (0)) __PYX_ERR(0, 1081, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, i); __PYX_ERR(0, 1081, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1081, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1081, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1081, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_s = values[1];
    __pyx_v_context = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1081, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.TempitaUtilityCode.none_or_sub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode_4none_or_sub(__pyx_self, __pyx_v_self, __pyx_v_s, __pyx_v_context);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_18TempitaUtilityCode_4none_or_sub(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("none_or_sub", 0);

  /* "Cython/Compiler/Code.py":1085
 *         Format a string in this utility code with context. If None, do nothing.
 *         """
 *         if s is None:             # <<<<<<<<<<<<<<
 *             return None
 *         return sub_tempita(s, context, self.file, self.name)
*/
  __pyx_t_1 = (__pyx_v_s == Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1086
 *         """
 *         if s is None:
 *             return None             # <<<<<<<<<<<<<<
 *         return sub_tempita(s, context, self.file, self.name)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1085
 *         Format a string in this utility code with context. If None, do nothing.
 *         """
 *         if s is None:             # <<<<<<<<<<<<<<
 *             return None
 *         return sub_tempita(s, context, self.file, self.name)
*/
  }

  /* "Cython/Compiler/Code.py":1087
 *         if s is None:
 *             return None
 *         return sub_tempita(s, context, self.file, self.name)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sub_tempita); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_file_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_3, __pyx_v_s, __pyx_v_context, __pyx_t_5, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (5-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1081
 *         return code
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.TempitaUtilityCode.none_or_sub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1098
 *     requires = None
 * 
 *     def __init__(self, callback):             # <<<<<<<<<<<<<<
 *         self.callback = callback
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_callback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_callback,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1098, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1098, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1098, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 1098, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(0, 1098, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1098, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1098, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_callback = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1098, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.LazyUtilityCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15LazyUtilityCode___init__(__pyx_self, __pyx_v_self, __pyx_v_callback);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15LazyUtilityCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_callback) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1099
 * 
 *     def __init__(self, callback):
 *         self.callback = callback             # <<<<<<<<<<<<<<
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_callback, __pyx_v_callback) < (0)) __PYX_ERR(0, 1099, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1098
 *     requires = None
 * 
 *     def __init__(self, callback):             # <<<<<<<<<<<<<<
 *         self.callback = callback
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.LazyUtilityCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1101
 *         self.callback = callback
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility, used_by=used_by)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code = {"put_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_globalstate = 0;
  PyObject *__pyx_v_used_by = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_globalstate,&__pyx_mstate_global->__pyx_n_u_used_by,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1101, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1101, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1101, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1101, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_code", 0) < (0)) __PYX_ERR(0, 1101, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_code", 0, 2, 3, i); __PYX_ERR(0, 1101, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1101, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1101, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1101, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_globalstate = values[1];
    __pyx_v_used_by = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_code", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 1101, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.LazyUtilityCode.put_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15LazyUtilityCode_2put_code(__pyx_self, __pyx_v_self, __pyx_v_globalstate, __pyx_v_used_by);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15LazyUtilityCode_2put_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_globalstate, PyObject *__pyx_v_used_by) {
  PyObject *__pyx_v_utility = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("put_code", 0);

  /* "Cython/Compiler/Code.py":1102
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:
 *         utility = self.callback(globalstate.rootwriter)             # <<<<<<<<<<<<<<
 *         globalstate.use_utility_code(utility, used_by=used_by)
 * 
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_globalstate, __pyx_mstate_global->__pyx_n_u_rootwriter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_callback, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_utility = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1103
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility, used_by=used_by)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_3 = __pyx_v_globalstate;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_utility};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_used_by, __pyx_v_used_by, __pyx_t_2, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 1103, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1101
 *         self.callback = callback
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility, used_by=used_by)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.LazyUtilityCode.put_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_utility);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1119
 * 
 *     # Not used for now, perhaps later
 *     def __init__(self, owner, names_taken=set(), scope=None):             # <<<<<<<<<<<<<<
 *         self.names_taken = names_taken
 *         self.owner = owner
*/

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_owner = 0;
  PyObject *__pyx_v_names_taken = 0;
  PyObject *__pyx_v_scope = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_owner,&__pyx_mstate_global->__pyx_n_u_names_taken,&__pyx_mstate_global->__pyx_n_u_scope,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1119, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 1119, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__37);
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(0, 1119, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1119, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1119, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__37);
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_owner = values[0];
    __pyx_v_names_taken = values[1];
    __pyx_v_scope = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 1119, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_owner, __pyx_v_names_taken, __pyx_v_scope);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState___init__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_owner, PyObject *__pyx_v_names_taken, PyObject *__pyx_v_scope) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1120
 *     # Not used for now, perhaps later
 *     def __init__(self, owner, names_taken=set(), scope=None):
 *         self.names_taken = names_taken             # <<<<<<<<<<<<<<
 *         self.owner = owner
 *         self.scope = scope
*/
  __pyx_t_1 = __pyx_v_names_taken;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(0, 1120, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->names_taken);
  __Pyx_DECREF(__pyx_v_self->names_taken);
  __pyx_v_self->names_taken = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1121
 *     def __init__(self, owner, names_taken=set(), scope=None):
 *         self.names_taken = names_taken
 *         self.owner = owner             # <<<<<<<<<<<<<<
 *         self.scope = scope
 * 
*/
  __Pyx_INCREF(__pyx_v_owner);
  __Pyx_GIVEREF(__pyx_v_owner);
  __Pyx_GOTREF(__pyx_v_self->owner);
  __Pyx_DECREF(__pyx_v_self->owner);
  __pyx_v_self->owner = __pyx_v_owner;

  /* "Cython/Compiler/Code.py":1122
 *         self.names_taken = names_taken
 *         self.owner = owner
 *         self.scope = scope             # <<<<<<<<<<<<<<
 * 
 *         self.error_label = None
*/
  __Pyx_INCREF(__pyx_v_scope);
  __Pyx_GIVEREF(__pyx_v_scope);
  __Pyx_GOTREF(__pyx_v_self->scope);
  __Pyx_DECREF(__pyx_v_self->scope);
  __pyx_v_self->scope = __pyx_v_scope;

  /* "Cython/Compiler/Code.py":1124
 *         self.scope = scope
 * 
 *         self.error_label = None             # <<<<<<<<<<<<<<
 *         self.label_counter = 0
 *         self.labels_used = set()
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->error_label);
  __Pyx_DECREF(__pyx_v_self->error_label);
  __pyx_v_self->error_label = Py_None;

  /* "Cython/Compiler/Code.py":1125
 * 
 *         self.error_label = None
 *         self.label_counter = 0             # <<<<<<<<<<<<<<
 *         self.labels_used = set()
 *         self.return_label = self.new_label()
*/
  __pyx_v_self->label_counter = 0;

  /* "Cython/Compiler/Code.py":1126
 *         self.error_label = None
 *         self.label_counter = 0
 *         self.labels_used = set()             # <<<<<<<<<<<<<<
 *         self.return_label = self.new_label()
 *         self.new_error_label()
*/
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->labels_used);
  __Pyx_DECREF(__pyx_v_self->labels_used);
  __pyx_v_self->labels_used = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1127
 *         self.label_counter = 0
 *         self.labels_used = set()
 *         self.return_label = self.new_label()             # <<<<<<<<<<<<<<
 *         self.new_error_label()
 *         self.continue_label = None
*/
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(__pyx_v_self, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->return_label);
  __Pyx_DECREF(__pyx_v_self->return_label);
  __pyx_v_self->return_label = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1128
 *         self.labels_used = set()
 *         self.return_label = self.new_label()
 *         self.new_error_label()             # <<<<<<<<<<<<<<
 *         self.continue_label = None
 *         self.break_label = None
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_error_label, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1129
 *         self.return_label = self.new_label()
 *         self.new_error_label()
 *         self.continue_label = None             # <<<<<<<<<<<<<<
 *         self.break_label = None
 *         self.yield_labels = []
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->continue_label);
  __Pyx_DECREF(__pyx_v_self->continue_label);
  __pyx_v_self->continue_label = Py_None;

  /* "Cython/Compiler/Code.py":1130
 *         self.new_error_label()
 *         self.continue_label = None
 *         self.break_label = None             # <<<<<<<<<<<<<<
 *         self.yield_labels = []
 * 
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->break_label);
  __Pyx_DECREF(__pyx_v_self->break_label);
  __pyx_v_self->break_label = Py_None;

  /* "Cython/Compiler/Code.py":1131
 *         self.continue_label = None
 *         self.break_label = None
 *         self.yield_labels = []             # <<<<<<<<<<<<<<
 * 
 *         self.exc_vars = None
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->yield_labels);
  __Pyx_DECREF(__pyx_v_self->yield_labels);
  __pyx_v_self->yield_labels = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1133
 *         self.yield_labels = []
 * 
 *         self.exc_vars = None             # <<<<<<<<<<<<<<
 *         self.current_except = None
 *         self.can_trace = False
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->exc_vars);
  __Pyx_DECREF(__pyx_v_self->exc_vars);
  __pyx_v_self->exc_vars = Py_None;

  /* "Cython/Compiler/Code.py":1134
 * 
 *         self.exc_vars = None
 *         self.current_except = None             # <<<<<<<<<<<<<<
 *         self.can_trace = False
 *         self.gil_owned = True
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->current_except);
  __Pyx_DECREF(__pyx_v_self->current_except);
  __pyx_v_self->current_except = Py_None;

  /* "Cython/Compiler/Code.py":1135
 *         self.exc_vars = None
 *         self.current_except = None
 *         self.can_trace = False             # <<<<<<<<<<<<<<
 *         self.gil_owned = True
 * 
*/
  __pyx_v_self->can_trace = 0;

  /* "Cython/Compiler/Code.py":1136
 *         self.current_except = None
 *         self.can_trace = False
 *         self.gil_owned = True             # <<<<<<<<<<<<<<
 * 
 *         self.temps_allocated = []  # of (name, type, manage_ref, static)
*/
  __pyx_v_self->gil_owned = 1;

  /* "Cython/Compiler/Code.py":1138
 *         self.gil_owned = True
 * 
 *         self.temps_allocated = []  # of (name, type, manage_ref, static)             # <<<<<<<<<<<<<<
 *         self.temps_free = {}  # (type, manage_ref) -> list of free vars with same type/managed status
 *         self.temps_used_type = {}  # name -> (type, manage_ref)
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->temps_allocated);
  __Pyx_DECREF(__pyx_v_self->temps_allocated);
  __pyx_v_self->temps_allocated = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1139
 * 
 *         self.temps_allocated = []  # of (name, type, manage_ref, static)
 *         self.temps_free = {}  # (type, manage_ref) -> list of free vars with same type/managed status             # <<<<<<<<<<<<<<
 *         self.temps_used_type = {}  # name -> (type, manage_ref)
 *         self.zombie_temps = set()  # temps that must not be reused after release
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->temps_free);
  __Pyx_DECREF(__pyx_v_self->temps_free);
  __pyx_v_self->temps_free = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1140
 *         self.temps_allocated = []  # of (name, type, manage_ref, static)
 *         self.temps_free = {}  # (type, manage_ref) -> list of free vars with same type/managed status
 *         self.temps_used_type = {}  # name -> (type, manage_ref)             # <<<<<<<<<<<<<<
 *         self.zombie_temps = set()  # temps that must not be reused after release
 *         self.temp_counter = 0
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->temps_used_type);
  __Pyx_DECREF(__pyx_v_self->temps_used_type);
  __pyx_v_self->temps_used_type = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1141
 *         self.temps_free = {}  # (type, manage_ref) -> list of free vars with same type/managed status
 *         self.temps_used_type = {}  # name -> (type, manage_ref)
 *         self.zombie_temps = set()  # temps that must not be reused after release             # <<<<<<<<<<<<<<
 *         self.temp_counter = 0
 *         self.closure_temps = None
*/
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->zombie_temps);
  __Pyx_DECREF(__pyx_v_self->zombie_temps);
  __pyx_v_self->zombie_temps = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1142
 *         self.temps_used_type = {}  # name -> (type, manage_ref)
 *         self.zombie_temps = set()  # temps that must not be reused after release
 *         self.temp_counter = 0             # <<<<<<<<<<<<<<
 *         self.closure_temps = None
 * 
*/
  __pyx_v_self->temp_counter = 0;

  /* "Cython/Compiler/Code.py":1143
 *         self.zombie_temps = set()  # temps that must not be reused after release
 *         self.temp_counter = 0
 *         self.closure_temps = None             # <<<<<<<<<<<<<<
 * 
 *         # This is used to collect temporaries, useful to find out which temps
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->closure_temps);
  __Pyx_DECREF(__pyx_v_self->closure_temps);
  __pyx_v_self->closure_temps = Py_None;

  /* "Cython/Compiler/Code.py":1147
 *         # This is used to collect temporaries, useful to find out which temps
 *         # need to be privatized in parallel sections
 *         self.collect_temps_stack = []             # <<<<<<<<<<<<<<
 * 
 *         # This is used for the error indicator, which needs to be local to the
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->collect_temps_stack);
  __Pyx_DECREF(__pyx_v_self->collect_temps_stack);
  __pyx_v_self->collect_temps_stack = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1153
 *         # However, exceptions may need to be propagated through 'nogil'
 *         # sections, in which case we introduce a race condition.
 *         self.should_declare_error_indicator = False             # <<<<<<<<<<<<<<
 *         self.uses_error_indicator = False
 * 
*/
  __pyx_v_self->should_declare_error_indicator = 0;

  /* "Cython/Compiler/Code.py":1154
 *         # sections, in which case we introduce a race condition.
 *         self.should_declare_error_indicator = False
 *         self.uses_error_indicator = False             # <<<<<<<<<<<<<<
 * 
 *         self.error_without_exception = False
*/
  __pyx_v_self->uses_error_indicator = 0;

  /* "Cython/Compiler/Code.py":1156
 *         self.uses_error_indicator = False
 * 
 *         self.error_without_exception = False             # <<<<<<<<<<<<<<
 * 
 *         self.needs_refnanny = False
*/
  __pyx_v_self->error_without_exception = 0;

  /* "Cython/Compiler/Code.py":1158
 *         self.error_without_exception = False
 * 
 *         self.needs_refnanny = False             # <<<<<<<<<<<<<<
 * 
 *     # safety checks
*/
  __pyx_v_self->needs_refnanny = 0;

  /* "Cython/Compiler/Code.py":1119
 * 
 *     # Not used for now, perhaps later
 *     def __init__(self, owner, names_taken=set(), scope=None):             # <<<<<<<<<<<<<<
 *         self.names_taken = names_taken
 *         self.owner = owner
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1162
 *     # safety checks
 * 
 *     def validate_exit(self):             # <<<<<<<<<<<<<<
 *         # validate that all allocated temps have been freed
 *         if self.temps_allocated:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3validate_exit(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_3validate_exit = {"validate_exit", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3validate_exit, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3validate_exit(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("validate_exit (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_2validate_exit(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_2validate_exit(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_leftovers = NULL;
  PyObject *__pyx_v_msg = NULL;
  PyObject *__pyx_8genexpr6__pyx_v_name = NULL;
  PyObject *__pyx_8genexpr6__pyx_v_ctype = NULL;
  CYTHON_UNUSED PyObject *__pyx_8genexpr6__pyx_v_is_pytemp = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12[4];
  size_t __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("validate_exit", 0);

  /* "Cython/Compiler/Code.py":1164
 *     def validate_exit(self):
 *         # validate that all allocated temps have been freed
 *         if self.temps_allocated:             # <<<<<<<<<<<<<<
 *             leftovers = self.temps_in_use()
 *             if leftovers:
*/
  if (__pyx_v_self->temps_allocated == Py_None) __pyx_t_1 = 0;
  else
  {
    Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_self->temps_allocated);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 1164, __pyx_L1_error)
    __pyx_t_1 = (__pyx_temp != 0);
  }

  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1165
 *         # validate that all allocated temps have been freed
 *         if self.temps_allocated:
 *             leftovers = self.temps_in_use()             # <<<<<<<<<<<<<<
 *             if leftovers:
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([
*/
    __pyx_t_2 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_temps_in_use(__pyx_v_self, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_leftovers = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1166
 *         if self.temps_allocated:
 *             leftovers = self.temps_in_use()
 *             if leftovers:             # <<<<<<<<<<<<<<
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([
 *                     '%s [%s]' % (name, ctype)
*/
    if (__pyx_v_leftovers == Py_None) __pyx_t_1 = 0;
    else
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_leftovers);
      if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 1166, __pyx_L1_error)
      __pyx_t_1 = (__pyx_temp != 0);
    }

    if (unlikely(__pyx_t_1)) {

      /* "Cython/Compiler/Code.py":1167
 *             leftovers = self.temps_in_use()
 *             if leftovers:
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([             # <<<<<<<<<<<<<<
 *                     '%s [%s]' % (name, ctype)
 *                     for name, ctype, is_pytemp in sorted(leftovers)]),
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->scope, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_2), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      { /* enter inner scope */
        __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1167, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_2);

        /* "Cython/Compiler/Code.py":1169
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([
 *                     '%s [%s]' % (name, ctype)
 *                     for name, ctype, is_pytemp in sorted(leftovers)]),             # <<<<<<<<<<<<<<
 *                 )
 *                 #print(msg)
*/
        __pyx_t_4 = PySequence_List(__pyx_v_leftovers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely((PyList_Sort(__pyx_t_4) < 0))) __PYX_ERR(0, 1169, __pyx_L7_error)
        __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5);
        __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        for (;;) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1169, __pyx_L7_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_6;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_4);
          if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
            PyObject* sequence = __pyx_t_4;
            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
            if (unlikely(size != 3)) {
              if (size > 3) __Pyx_RaiseTooManyValuesError(3);
              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
              __PYX_ERR(0, 1169, __pyx_L7_error)
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            if (likely(PyTuple_CheckExact(sequence))) {
              __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0);
              __Pyx_INCREF(__pyx_t_7);
              __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1);
              __Pyx_INCREF(__pyx_t_8);
              __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2);
              __Pyx_INCREF(__pyx_t_9);
            } else {
              __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
              if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1169, __pyx_L7_error)
              __Pyx_XGOTREF(__pyx_t_7);
              __pyx_t_8 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
              if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1169, __pyx_L7_error)
              __Pyx_XGOTREF(__pyx_t_8);
              __pyx_t_9 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
              if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1169, __pyx_L7_error)
              __Pyx_XGOTREF(__pyx_t_9);
            }
            #else
            __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1169, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1169, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1169, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_9);
            #endif
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else {
            Py_ssize_t index = -1;
            __pyx_t_10 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1169, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_10);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10);
            index = 0; __pyx_t_7 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_7)) goto __pyx_L10_unpacking_failed;
            __Pyx_GOTREF(__pyx_t_7);
            index = 1; __pyx_t_8 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_8)) goto __pyx_L10_unpacking_failed;
            __Pyx_GOTREF(__pyx_t_8);
            index = 2; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L10_unpacking_failed;
            __Pyx_GOTREF(__pyx_t_9);
            if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 3) < (0)) __PYX_ERR(0, 1169, __pyx_L7_error)
            __pyx_t_11 = NULL;
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
            goto __pyx_L11_unpacking_done;
            __pyx_L10_unpacking_failed:;
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
            if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
            __PYX_ERR(0, 1169, __pyx_L7_error)
            __pyx_L11_unpacking_done:;
          }
          __Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_name, __pyx_t_7);
          __pyx_t_7 = 0;
          __Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_ctype, __pyx_t_8);
          __pyx_t_8 = 0;
          __Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_is_pytemp, __pyx_t_9);
          __pyx_t_9 = 0;

          /* "Cython/Compiler/Code.py":1168
 *             if leftovers:
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([
 *                     '%s [%s]' % (name, ctype)             # <<<<<<<<<<<<<<
 *                     for name, ctype, is_pytemp in sorted(leftovers)]),
 *                 )
*/
          __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_8genexpr6__pyx_v_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1168, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_9 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_8genexpr6__pyx_v_ctype), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1168, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_12[0] = __pyx_t_4;
          __pyx_t_12[1] = __pyx_mstate_global->__pyx_kp_u__40;
          __pyx_t_12[2] = __pyx_t_9;
          __pyx_t_12[3] = __pyx_mstate_global->__pyx_kp_u__23;
          __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_12, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9));
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1168, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 1167, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

          /* "Cython/Compiler/Code.py":1169
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([
 *                     '%s [%s]' % (name, ctype)
 *                     for name, ctype, is_pytemp in sorted(leftovers)]),             # <<<<<<<<<<<<<<
 *                 )
 *                 #print(msg)
*/
        }
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_ctype); __pyx_8genexpr6__pyx_v_ctype = 0;
        __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_is_pytemp); __pyx_8genexpr6__pyx_v_is_pytemp = 0;
        __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_name); __pyx_8genexpr6__pyx_v_name = 0;
        goto __pyx_L13_exit_scope;
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_ctype); __pyx_8genexpr6__pyx_v_ctype = 0;
        __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_is_pytemp); __pyx_8genexpr6__pyx_v_is_pytemp = 0;
        __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_name); __pyx_8genexpr6__pyx_v_name = 0;
        goto __pyx_L1_error;
        __pyx_L13_exit_scope:;
      } /* exit inner scope */

      /* "Cython/Compiler/Code.py":1167
 *             leftovers = self.temps_in_use()
 *             if leftovers:
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([             # <<<<<<<<<<<<<<
 *                     '%s [%s]' % (name, ctype)
 *                     for name, ctype, is_pytemp in sorted(leftovers)]),
*/
      __pyx_t_5 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__39, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_12[0] = __pyx_mstate_global->__pyx_kp_u_TEMPGUARD_Temps_left_over_at_end;
      __pyx_t_12[1] = __pyx_t_3;
      __pyx_t_12[2] = __pyx_mstate_global->__pyx_kp_u__38;
      __pyx_t_12[3] = __pyx_t_5;
      __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_12, 4, 38 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_v_msg = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1172
 *                 )
 *                 #print(msg)
 *                 raise RuntimeError(msg)             # <<<<<<<<<<<<<<
 * 
 *     # labels
*/
      __pyx_t_5 = NULL;
      __pyx_t_13 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_msg};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1172, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(0, 1172, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":1166
 *         if self.temps_allocated:
 *             leftovers = self.temps_in_use()
 *             if leftovers:             # <<<<<<<<<<<<<<
 *                 msg = "TEMPGUARD: Temps left over at end of '%s': %s" % (self.scope.name, ', '.join([
 *                     '%s [%s]' % (name, ctype)
*/
    }

    /* "Cython/Compiler/Code.py":1164
 *     def validate_exit(self):
 *         # validate that all allocated temps have been freed
 *         if self.temps_allocated:             # <<<<<<<<<<<<<<
 *             leftovers = self.temps_in_use()
 *             if leftovers:
*/
  }

  /* "Cython/Compiler/Code.py":1162
 *     # safety checks
 * 
 *     def validate_exit(self):             # <<<<<<<<<<<<<<
 *         # validate that all allocated temps have been freed
 *         if self.temps_allocated:
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.validate_exit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_leftovers);
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_name);
  __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_ctype);
  __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_is_pytemp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1176
 *     # labels
 * 
 *     def new_label(self, name=None):             # <<<<<<<<<<<<<<
 *         n: cython.size_t = self.label_counter
 *         self.label_counter = n + 1
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label *__pyx_optional_args) {
  PyObject *__pyx_v_name = ((PyObject *)Py_None);
  size_t __pyx_v_n;
  PyObject *__pyx_v_label = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_label", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_name = __pyx_optional_args->name;
    }
  }

  /* "Cython/Compiler/Code.py":1177
 * 
 *     def new_label(self, name=None):
 *         n: cython.size_t = self.label_counter             # <<<<<<<<<<<<<<
 *         self.label_counter = n + 1
 *         label = "%s%d" % (Naming.label_prefix, n)
*/
  __pyx_t_1 = __pyx_v_self->label_counter;
  __pyx_v_n = __pyx_t_1;

  /* "Cython/Compiler/Code.py":1178
 *     def new_label(self, name=None):
 *         n: cython.size_t = self.label_counter
 *         self.label_counter = n + 1             # <<<<<<<<<<<<<<
 *         label = "%s%d" % (Naming.label_prefix, n)
 *         if name is not None:
*/
  __pyx_v_self->label_counter = (__pyx_v_n + 1);

  /* "Cython/Compiler/Code.py":1179
 *         n: cython.size_t = self.label_counter
 *         self.label_counter = n + 1
 *         label = "%s%d" % (Naming.label_prefix, n)             # <<<<<<<<<<<<<<
 *         if name is not None:
 *             label += '_' + name
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_label_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_2), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_From_size_t(__pyx_v_n, 0, ' ', 'd'); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_label = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1180
 *         self.label_counter = n + 1
 *         label = "%s%d" % (Naming.label_prefix, n)
 *         if name is not None:             # <<<<<<<<<<<<<<
 *             label += '_' + name
 *         return label
*/
  __pyx_t_5 = (__pyx_v_name != Py_None);
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1181
 *         label = "%s%d" % (Naming.label_prefix, n)
 *         if name is not None:
 *             label += '_' + name             # <<<<<<<<<<<<<<
 *         return label
 * 
*/
    __pyx_t_4 = PyNumber_Add(__pyx_mstate_global->__pyx_n_u__26, __pyx_v_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_label, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_label, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1180
 *         self.label_counter = n + 1
 *         label = "%s%d" % (Naming.label_prefix, n)
 *         if name is not None:             # <<<<<<<<<<<<<<
 *             label += '_' + name
 *         return label
*/
  }

  /* "Cython/Compiler/Code.py":1182
 *         if name is not None:
 *             label += '_' + name
 *         return label             # <<<<<<<<<<<<<<
 * 
 *     def new_yield_label(self, expr_type='yield'):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_label);
  __pyx_r = __pyx_v_label;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1176
 *     # labels
 * 
 *     def new_label(self, name=None):             # <<<<<<<<<<<<<<
 *         n: cython.size_t = self.label_counter
 *         self.label_counter = n + 1
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_label);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_5new_label = {"new_label", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_label, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_label (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1176, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_label", 0) < (0)) __PYX_ERR(0, 1176, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1176, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_label", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 1176, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_4new_label(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_4new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.name = __pyx_v_name;
  __pyx_t_1 = __pyx_vtabptr_6Cython_8Compiler_4Code_FunctionState->new_label(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1184
 *         return label
 * 
 *     def new_yield_label(self, expr_type='yield'):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_%s' % expr_type)
 *         num_and_label = (len(self.yield_labels) + 1, label)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_yield_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_7new_yield_label = {"new_yield_label", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_yield_label, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_yield_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr_type = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_yield_label (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr_type,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1184, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1184, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_yield_label", 0) < (0)) __PYX_ERR(0, 1184, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_yield));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1184, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_yield));
    }
    __pyx_v_expr_type = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_yield_label", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 1184, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_yield_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_6new_yield_label(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_expr_type);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_6new_yield_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_expr_type) {
  PyObject *__pyx_v_label = NULL;
  PyObject *__pyx_v_num_and_label = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_yield_label", 0);

  /* "Cython/Compiler/Code.py":1185
 * 
 *     def new_yield_label(self, expr_type='yield'):
 *         label = self.new_label('resume_from_%s' % expr_type)             # <<<<<<<<<<<<<<
 *         num_and_label = (len(self.yield_labels) + 1, label)
 *         self.yield_labels.append(num_and_label)
*/
  __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_resume_from__s, __pyx_v_expr_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3.__pyx_n = 1;
  __pyx_t_3.name = __pyx_t_1;
  __pyx_t_2 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_label = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1186
 *     def new_yield_label(self, expr_type='yield'):
 *         label = self.new_label('resume_from_%s' % expr_type)
 *         num_and_label = (len(self.yield_labels) + 1, label)             # <<<<<<<<<<<<<<
 *         self.yield_labels.append(num_and_label)
 *         return num_and_label
*/
  __pyx_t_2 = __pyx_v_self->yield_labels;
  __Pyx_INCREF(__pyx_t_2);
  if (unlikely(__pyx_t_2 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 1186, __pyx_L1_error)
  }
  __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyLong_FromSsize_t((__pyx_t_4 + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 1186, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_label);
  __Pyx_GIVEREF(__pyx_v_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_label) != (0)) __PYX_ERR(0, 1186, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_v_num_and_label = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1187
 *         label = self.new_label('resume_from_%s' % expr_type)
 *         num_and_label = (len(self.yield_labels) + 1, label)
 *         self.yield_labels.append(num_and_label)             # <<<<<<<<<<<<<<
 *         return num_and_label
 * 
*/
  if (unlikely(__pyx_v_self->yield_labels == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
    __PYX_ERR(0, 1187, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_self->yield_labels, __pyx_v_num_and_label); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 1187, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1188
 *         num_and_label = (len(self.yield_labels) + 1, label)
 *         self.yield_labels.append(num_and_label)
 *         return num_and_label             # <<<<<<<<<<<<<<
 * 
 *     def new_error_label(self, prefix=""):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_num_and_label);
  __pyx_r = __pyx_v_num_and_label;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1184
 *         return label
 * 
 *     def new_yield_label(self, expr_type='yield'):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_%s' % expr_type)
 *         num_and_label = (len(self.yield_labels) + 1, label)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_yield_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_label);
  __Pyx_XDECREF(__pyx_v_num_and_label);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1190
 *         return num_and_label
 * 
 *     def new_error_label(self, prefix=""):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label(prefix + 'error')
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9new_error_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_9new_error_label = {"new_error_label", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9new_error_label, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9new_error_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_prefix = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_error_label (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prefix,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1190, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1190, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_error_label", 0) < (0)) __PYX_ERR(0, 1190, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1190, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));
    }
    __pyx_v_prefix = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_error_label", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 1190, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_error_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8new_error_label(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_prefix);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8new_error_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_prefix) {
  PyObject *__pyx_v_old_err_lbl = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_error_label", 0);

  /* "Cython/Compiler/Code.py":1191
 * 
 *     def new_error_label(self, prefix=""):
 *         old_err_lbl = self.error_label             # <<<<<<<<<<<<<<
 *         self.error_label = self.new_label(prefix + 'error')
 *         return old_err_lbl
*/
  __pyx_t_1 = __pyx_v_self->error_label;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_old_err_lbl = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1192
 *     def new_error_label(self, prefix=""):
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label(prefix + 'error')             # <<<<<<<<<<<<<<
 *         return old_err_lbl
 * 
*/
  __pyx_t_1 = PyNumber_Add(__pyx_v_prefix, __pyx_mstate_global->__pyx_n_u_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3.__pyx_n = 1;
  __pyx_t_3.name = __pyx_t_1;
  __pyx_t_2 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->error_label);
  __Pyx_DECREF(__pyx_v_self->error_label);
  __pyx_v_self->error_label = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1193
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label(prefix + 'error')
 *         return old_err_lbl             # <<<<<<<<<<<<<<
 * 
 *     def get_loop_labels(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_old_err_lbl);
  __pyx_r = __pyx_v_old_err_lbl;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1190
 *         return num_and_label
 * 
 *     def new_error_label(self, prefix=""):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label(prefix + 'error')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_error_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_old_err_lbl);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1195
 *         return old_err_lbl
 * 
 *     def get_loop_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11get_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_loop_labels", 0);

  /* "Cython/Compiler/Code.py":1196
 * 
 *     def get_loop_labels(self):
 *         return (             # <<<<<<<<<<<<<<
 *             self.continue_label,
 *             self.break_label)
*/
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":1197
 *     def get_loop_labels(self):
 *         return (
 *             self.continue_label,             # <<<<<<<<<<<<<<
 *             self.break_label)
 * 
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->continue_label);
  __Pyx_GIVEREF(__pyx_v_self->continue_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->continue_label) != (0)) __PYX_ERR(0, 1197, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->break_label);
  __Pyx_GIVEREF(__pyx_v_self->break_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->break_label) != (0)) __PYX_ERR(0, 1197, __pyx_L1_error);
  __pyx_r = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1195
 *         return old_err_lbl
 * 
 *     def get_loop_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.get_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11get_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_11get_loop_labels = {"get_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11get_loop_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11get_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_loop_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10get_loop_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_loop_labels(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.get_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1200
 *             self.break_label)
 * 
 *     def set_loop_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label) = labels
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13set_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_loop_labels", 0);

  /* "Cython/Compiler/Code.py":1202
 *     def set_loop_labels(self, labels):
 *         (self.continue_label,
 *          self.break_label) = labels             # <<<<<<<<<<<<<<
 * 
 *     def new_loop_labels(self, prefix=""):
*/
  if ((likely(PyTuple_CheckExact(__pyx_v_labels))) || (PyList_CheckExact(__pyx_v_labels))) {
    PyObject* sequence = __pyx_v_labels;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 1201, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_2);
    } else {
      __pyx_t_1 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
    }
    #else
    __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_3 = PyObject_GetIter(__pyx_v_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3);
    index = 0; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < (0)) __PYX_ERR(0, 1201, __pyx_L1_error)
    __pyx_t_4 = NULL;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 1201, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }

  /* "Cython/Compiler/Code.py":1201
 * 
 *     def set_loop_labels(self, labels):
 *         (self.continue_label,             # <<<<<<<<<<<<<<
 *          self.break_label) = labels
 * 
*/
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->continue_label);
  __Pyx_DECREF(__pyx_v_self->continue_label);
  __pyx_v_self->continue_label = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1202
 *     def set_loop_labels(self, labels):
 *         (self.continue_label,
 *          self.break_label) = labels             # <<<<<<<<<<<<<<
 * 
 *     def new_loop_labels(self, prefix=""):
*/
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->break_label);
  __Pyx_DECREF(__pyx_v_self->break_label);
  __pyx_v_self->break_label = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1200
 *             self.break_label)
 * 
 *     def set_loop_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label) = labels
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.set_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13set_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_13set_loop_labels = {"set_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13set_loop_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13set_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_loop_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12set_loop_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_labels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12set_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_loop_labels(__pyx_v_self, __pyx_v_labels, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.set_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1204
 *          self.break_label) = labels
 * 
 *     def new_loop_labels(self, prefix=""):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15new_loop_labels(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_15new_loop_labels = {"new_loop_labels", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15new_loop_labels, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15new_loop_labels(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_prefix = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_loop_labels (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prefix,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1204, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1204, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_loop_labels", 0) < (0)) __PYX_ERR(0, 1204, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1204, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));
    }
    __pyx_v_prefix = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_loop_labels", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 1204, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14new_loop_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_prefix);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14new_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_prefix) {
  PyObject *__pyx_v_old_labels = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_loop_labels", 0);

  /* "Cython/Compiler/Code.py":1205
 * 
 *     def new_loop_labels(self, prefix=""):
 *         old_labels = self.get_loop_labels()             # <<<<<<<<<<<<<<
 *         self.set_loop_labels(
 *             (self.new_label(prefix + "continue"),
*/
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_loop_labels(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_old_labels = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1207
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
 *             (self.new_label(prefix + "continue"),             # <<<<<<<<<<<<<<
 *              self.new_label(prefix + "break")))
 *         return old_labels
*/
  __pyx_t_1 = PyNumber_Add(__pyx_v_prefix, __pyx_mstate_global->__pyx_n_u_continue); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3.__pyx_n = 1;
  __pyx_t_3.name = __pyx_t_1;
  __pyx_t_2 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1208
 *         self.set_loop_labels(
 *             (self.new_label(prefix + "continue"),
 *              self.new_label(prefix + "break")))             # <<<<<<<<<<<<<<
 *         return old_labels
 * 
*/
  __pyx_t_1 = PyNumber_Add(__pyx_v_prefix, __pyx_mstate_global->__pyx_n_u_break); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3.__pyx_n = 1;
  __pyx_t_3.name = __pyx_t_1;
  __pyx_t_4 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1207
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
 *             (self.new_label(prefix + "continue"),             # <<<<<<<<<<<<<<
 *              self.new_label(prefix + "break")))
 *         return old_labels
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 1207, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4) != (0)) __PYX_ERR(0, 1207, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1206
 *     def new_loop_labels(self, prefix=""):
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(             # <<<<<<<<<<<<<<
 *             (self.new_label(prefix + "continue"),
 *              self.new_label(prefix + "break")))
*/
  __pyx_t_4 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_loop_labels(__pyx_v_self, __pyx_t_1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1209
 *             (self.new_label(prefix + "continue"),
 *              self.new_label(prefix + "break")))
 *         return old_labels             # <<<<<<<<<<<<<<
 * 
 *     def get_all_labels(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_old_labels);
  __pyx_r = __pyx_v_old_labels;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1204
 *          self.break_label) = labels
 * 
 *     def new_loop_labels(self, prefix=""):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.new_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_old_labels);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1211
 *         return old_labels
 * 
 *     def get_all_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17get_all_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_all_labels", 0);

  /* "Cython/Compiler/Code.py":1212
 * 
 *     def get_all_labels(self):
 *         return (             # <<<<<<<<<<<<<<
 *             self.continue_label,
 *             self.break_label,
*/
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":1213
 *     def get_all_labels(self):
 *         return (
 *             self.continue_label,             # <<<<<<<<<<<<<<
 *             self.break_label,
 *             self.return_label,
*/
  __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->continue_label);
  __Pyx_GIVEREF(__pyx_v_self->continue_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->continue_label) != (0)) __PYX_ERR(0, 1213, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->break_label);
  __Pyx_GIVEREF(__pyx_v_self->break_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->break_label) != (0)) __PYX_ERR(0, 1213, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->return_label);
  __Pyx_GIVEREF(__pyx_v_self->return_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->return_label) != (0)) __PYX_ERR(0, 1213, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->error_label);
  __Pyx_GIVEREF(__pyx_v_self->error_label);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->error_label) != (0)) __PYX_ERR(0, 1213, __pyx_L1_error);
  __pyx_r = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1211
 *         return old_labels
 * 
 *     def get_all_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.get_all_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17get_all_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_17get_all_labels = {"get_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17get_all_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17get_all_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_all_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_16get_all_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_16get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_all_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_all_labels(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.get_all_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1218
 *             self.error_label)
 * 
 *     def set_all_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label,
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19set_all_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_all_labels", 0);

  /* "Cython/Compiler/Code.py":1222
 *          self.break_label,
 *          self.return_label,
 *          self.error_label) = labels             # <<<<<<<<<<<<<<
 * 
 *     def all_new_labels(self):
*/
  if ((likely(PyTuple_CheckExact(__pyx_v_labels))) || (PyList_CheckExact(__pyx_v_labels))) {
    PyObject* sequence = __pyx_v_labels;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 4)) {
      if (size > 4) __Pyx_RaiseTooManyValuesError(4);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 1219, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 3);
      __Pyx_INCREF(__pyx_t_4);
    } else {
      __pyx_t_1 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1219, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1219, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1219, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 3, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1219, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_4);
    }
    #else
    {
      Py_ssize_t i;
      PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_2,&__pyx_t_3,&__pyx_t_4};
      for (i=0; i < 4; i++) {
        PyObject* item = __Pyx_PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1219, __pyx_L1_error)
        __Pyx_GOTREF(item);
        *(temps[i]) = item;
      }
    }
    #endif
  } else {
    Py_ssize_t index = -1;
    PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_2,&__pyx_t_3,&__pyx_t_4};
    __pyx_t_5 = PyObject_GetIter(__pyx_v_labels); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
    for (index=0; index < 4; index++) {
      PyObject* item = __pyx_t_6(__pyx_t_5); if (unlikely(!item)) goto __pyx_L3_unpacking_failed;
      __Pyx_GOTREF(item);
      *(temps[index]) = item;
    }
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 4) < (0)) __PYX_ERR(0, 1219, __pyx_L1_error)
    __pyx_t_6 = NULL;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 1219, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }

  /* "Cython/Compiler/Code.py":1219
 * 
 *     def set_all_labels(self, labels):
 *         (self.continue_label,             # <<<<<<<<<<<<<<
 *          self.break_label,
 *          self.return_label,
*/
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->continue_label);
  __Pyx_DECREF(__pyx_v_self->continue_label);
  __pyx_v_self->continue_label = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1220
 *     def set_all_labels(self, labels):
 *         (self.continue_label,
 *          self.break_label,             # <<<<<<<<<<<<<<
 *          self.return_label,
 *          self.error_label) = labels
*/
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->break_label);
  __Pyx_DECREF(__pyx_v_self->break_label);
  __pyx_v_self->break_label = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1221
 *         (self.continue_label,
 *          self.break_label,
 *          self.return_label,             # <<<<<<<<<<<<<<
 *          self.error_label) = labels
 * 
*/
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF(__pyx_v_self->return_label);
  __Pyx_DECREF(__pyx_v_self->return_label);
  __pyx_v_self->return_label = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1222
 *          self.break_label,
 *          self.return_label,
 *          self.error_label) = labels             # <<<<<<<<<<<<<<
 * 
 *     def all_new_labels(self):
*/
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF(__pyx_v_self->error_label);
  __Pyx_DECREF(__pyx_v_self->error_label);
  __pyx_v_self->error_label = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1218
 *             self.error_label)
 * 
 *     def set_all_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label,
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.set_all_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19set_all_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_19set_all_labels = {"set_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19set_all_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19set_all_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_all_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_18set_all_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_labels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_18set_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_labels) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_all_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_all_labels(__pyx_v_self, __pyx_v_labels, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.set_all_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1224
 *          self.error_label) = labels
 * 
 *     def all_new_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_all_labels()
 *         new_labels = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21all_new_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_21all_new_labels = {"all_new_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21all_new_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21all_new_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_new_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20all_new_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20all_new_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_old_labels = NULL;
  PyObject *__pyx_v_new_labels = NULL;
  PyObject *__pyx_v_old_label = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_11;
  int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("all_new_labels", 0);

  /* "Cython/Compiler/Code.py":1225
 * 
 *     def all_new_labels(self):
 *         old_labels = self.get_all_labels()             # <<<<<<<<<<<<<<
 *         new_labels = []
 *         for old_label, name in zip(old_labels, ['continue', 'break', 'return', 'error']):
*/
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_all_labels(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_old_labels = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1226
 *     def all_new_labels(self):
 *         old_labels = self.get_all_labels()
 *         new_labels = []             # <<<<<<<<<<<<<<
 *         for old_label, name in zip(old_labels, ['continue', 'break', 'return', 'error']):
 *             if old_label:
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_labels = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1227
 *         old_labels = self.get_all_labels()
 *         new_labels = []
 *         for old_label, name in zip(old_labels, ['continue', 'break', 'return', 'error']):             # <<<<<<<<<<<<<<
 *             if old_label:
 *                 new_labels.append(self.new_label(name))
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_continue);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_continue);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_mstate_global->__pyx_n_u_continue) != (0)) __PYX_ERR(0, 1227, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_break);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_break);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_mstate_global->__pyx_n_u_break) != (0)) __PYX_ERR(0, 1227, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_return);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_return);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_mstate_global->__pyx_n_u_return) != (0)) __PYX_ERR(0, 1227, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_error);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_error);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_mstate_global->__pyx_n_u_error) != (0)) __PYX_ERR(0, 1227, __pyx_L1_error);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_old_labels, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1227, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1227, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_5;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1227, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5);
        #endif
        ++__pyx_t_5;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_6(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 1227, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1227, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_7);
      } else {
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1227, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
      }
      #else
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1227, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1227, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
      index = 0; __pyx_t_2 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < (0)) __PYX_ERR(0, 1227, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1227, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_old_label, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1228
 *         new_labels = []
 *         for old_label, name in zip(old_labels, ['continue', 'break', 'return', 'error']):
 *             if old_label:             # <<<<<<<<<<<<<<
 *                 new_labels.append(self.new_label(name))
 *             else:
*/
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_old_label); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 1228, __pyx_L1_error)
    if (__pyx_t_10) {

      /* "Cython/Compiler/Code.py":1229
 *         for old_label, name in zip(old_labels, ['continue', 'break', 'return', 'error']):
 *             if old_label:
 *                 new_labels.append(self.new_label(name))             # <<<<<<<<<<<<<<
 *             else:
 *                 new_labels.append(old_label)
*/
      __pyx_t_11.__pyx_n = 1;
      __pyx_t_11.name = __pyx_v_name;
      __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(__pyx_v_self, 0, &__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1229, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_new_labels, __pyx_t_1); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 1229, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":1228
 *         new_labels = []
 *         for old_label, name in zip(old_labels, ['continue', 'break', 'return', 'error']):
 *             if old_label:             # <<<<<<<<<<<<<<
 *                 new_labels.append(self.new_label(name))
 *             else:
*/
      goto __pyx_L7;
    }

    /* "Cython/Compiler/Code.py":1231
 *                 new_labels.append(self.new_label(name))
 *             else:
 *                 new_labels.append(old_label)             # <<<<<<<<<<<<<<
 *         self.set_all_labels(new_labels)
 *         return old_labels
*/
    /*else*/ {
      __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_new_labels, __pyx_v_old_label); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 1231, __pyx_L1_error)
    }
    __pyx_L7:;

    /* "Cython/Compiler/Code.py":1227
 *         old_labels = self.get_all_labels()
 *         new_labels = []
 *         for old_label, name in zip(old_labels, ['continue', 'break', 'return', 'error']):             # <<<<<<<<<<<<<<
 *             if old_label:
 *                 new_labels.append(self.new_label(name))
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1232
 *             else:
 *                 new_labels.append(old_label)
 *         self.set_all_labels(new_labels)             # <<<<<<<<<<<<<<
 *         return old_labels
 * 
*/
  __pyx_t_3 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_all_labels(__pyx_v_self, __pyx_v_new_labels, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1233
 *                 new_labels.append(old_label)
 *         self.set_all_labels(new_labels)
 *         return old_labels             # <<<<<<<<<<<<<<
 * 
 *     def use_label(self, lbl):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_old_labels);
  __pyx_r = __pyx_v_old_labels;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1224
 *          self.error_label) = labels
 * 
 *     def all_new_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_all_labels()
 *         new_labels = []
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.all_new_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_old_labels);
  __Pyx_XDECREF(__pyx_v_new_labels);
  __Pyx_XDECREF(__pyx_v_old_label);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1235
 *         return old_labels
 * 
 *     def use_label(self, lbl):             # <<<<<<<<<<<<<<
 *         self.labels_used.add(lbl)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23use_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_23use_label = {"use_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23use_label, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23use_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_label (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_22use_label(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_lbl));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_22use_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_lbl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("use_label", 0);

  /* "Cython/Compiler/Code.py":1236
 * 
 *     def use_label(self, lbl):
 *         self.labels_used.add(lbl)             # <<<<<<<<<<<<<<
 * 
 *     def label_used(self, lbl):
*/
  if (unlikely(__pyx_v_self->labels_used == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
    __PYX_ERR(0, 1236, __pyx_L1_error)
  }
  __pyx_t_1 = PySet_Add(__pyx_v_self->labels_used, __pyx_v_lbl); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1236, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1235
 *         return old_labels
 * 
 *     def use_label(self, lbl):             # <<<<<<<<<<<<<<
 *         self.labels_used.add(lbl)
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.use_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1238
 *         self.labels_used.add(lbl)
 * 
 *     def label_used(self, lbl):             # <<<<<<<<<<<<<<
 *         return lbl in self.labels_used
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25label_used(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_25label_used = {"label_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25label_used, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25label_used(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_used (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_24label_used(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_lbl));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_24label_used(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_lbl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("label_used", 0);

  /* "Cython/Compiler/Code.py":1239
 * 
 *     def label_used(self, lbl):
 *         return lbl in self.labels_used             # <<<<<<<<<<<<<<
 * 
 *     # temp handling
*/
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(__pyx_v_self->labels_used == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 1239, __pyx_L1_error)
  }
  __pyx_t_1 = (__Pyx_PySet_ContainsTF(__pyx_v_lbl, __pyx_v_self->labels_used, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1239, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1238
 *         self.labels_used.add(lbl)
 * 
 *     def label_used(self, lbl):             # <<<<<<<<<<<<<<
 *         return lbl in self.labels_used
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.label_used", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1243
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False, reusable=True):             # <<<<<<<<<<<<<<
 *         """
 *         Allocates a temporary (which may create a new one or get a previously
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_27allocate_temp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13FunctionState_26allocate_temp, "\n        Allocates a temporary (which may create a new one or get a previously\n        allocated and released one of the same type). Type is simply registered\n        and handed back, but will usually be a PyrexType.\n\n        If type.needs_refcounting, manage_ref comes into play. If manage_ref is set to\n        True, the temp will be decref-ed on return statements and in exception\n        handling clauses. Otherwise the caller has to deal with any reference\n        counting of the variable.\n\n        If not type.needs_refcounting, then manage_ref will be ignored, but it\n        still has to be passed. It is recommended to pass False by convention\n        if it is known that type will never be a reference counted type.\n\n        static=True marks the temporary declaration with \"static\".\n        This is only used when allocating backing store for a module-level\n        C array literals.\n\n        if reusable=False, the temp will not be reused after release.\n\n        A C string referring to the variable is returned.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_27allocate_temp = {"allocate_temp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_27allocate_temp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_26allocate_temp};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_27allocate_temp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_manage_ref = 0;
  PyObject *__pyx_v_static = 0;
  PyObject *__pyx_v_reusable = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allocate_temp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_manage_ref,&__pyx_mstate_global->__pyx_n_u_static_2,&__pyx_mstate_global->__pyx_n_u_reusable,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1243, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "allocate_temp", 0) < (0)) __PYX_ERR(0, 1243, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("allocate_temp", 0, 2, 4, i); __PYX_ERR(0, 1243, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1243, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1243, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_type = values[0];
    __pyx_v_manage_ref = values[1];
    __pyx_v_static = values[2];
    __pyx_v_reusable = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("allocate_temp", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 1243, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.allocate_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_26allocate_temp(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_type, __pyx_v_manage_ref, __pyx_v_static, __pyx_v_reusable);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_26allocate_temp(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_manage_ref, PyObject *__pyx_v_static, PyObject *__pyx_v_reusable) {
  PyObject *__pyx_v_PyrexTypes = NULL;
  PyObject *__pyx_v_freelist = NULL;
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14[7];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("allocate_temp", 0);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_INCREF(__pyx_v_manage_ref);

  /* "Cython/Compiler/Code.py":1266
 *         A C string referring to the variable is returned.
 *         """
 *         if type.is_cv_qualified and not type.is_reference:             # <<<<<<<<<<<<<<
 *             type = type.cv_base_type
 *         elif type.is_reference and not type.is_fake_reference:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_cv_qualified); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_reference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (!__pyx_t_3);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1267
 *         """
 *         if type.is_cv_qualified and not type.is_reference:
 *             type = type.cv_base_type             # <<<<<<<<<<<<<<
 *         elif type.is_reference and not type.is_fake_reference:
 *             type = type.ref_base_type
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_cv_base_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_type, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1266
 *         A C string referring to the variable is returned.
 *         """
 *         if type.is_cv_qualified and not type.is_reference:             # <<<<<<<<<<<<<<
 *             type = type.cv_base_type
 *         elif type.is_reference and not type.is_fake_reference:
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1268
 *         if type.is_cv_qualified and not type.is_reference:
 *             type = type.cv_base_type
 *         elif type.is_reference and not type.is_fake_reference:             # <<<<<<<<<<<<<<
 *             type = type.ref_base_type
 *         elif type.is_cfunction:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_reference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 1268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_fake_reference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 1268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = (!__pyx_t_4);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1269
 *             type = type.cv_base_type
 *         elif type.is_reference and not type.is_fake_reference:
 *             type = type.ref_base_type             # <<<<<<<<<<<<<<
 *         elif type.is_cfunction:
 *             from . import PyrexTypes
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_ref_base_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_type, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1268
 *         if type.is_cv_qualified and not type.is_reference:
 *             type = type.cv_base_type
 *         elif type.is_reference and not type.is_fake_reference:             # <<<<<<<<<<<<<<
 *             type = type.ref_base_type
 *         elif type.is_cfunction:
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1270
 *         elif type.is_reference and not type.is_fake_reference:
 *             type = type.ref_base_type
 *         elif type.is_cfunction:             # <<<<<<<<<<<<<<
 *             from . import PyrexTypes
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_cfunction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1271
 *             type = type.ref_base_type
 *         elif type.is_cfunction:
 *             from . import PyrexTypes             # <<<<<<<<<<<<<<
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:
*/
    {
      PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_PyrexTypes};
      __pyx_t_5 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1271, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_t_5;
    __Pyx_GOTREF(__pyx_t_2);
    {
      PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_PyrexTypes};
      __pyx_t_6 = 0; {
        __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_6]); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1271, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        switch (__pyx_t_6) {
          case 0:
          __Pyx_INCREF(__pyx_t_7);
          __pyx_v_PyrexTypes = __pyx_t_7;
          break;
          default:;
        }
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1272
 *         elif type.is_cfunction:
 *             from . import PyrexTypes
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value             # <<<<<<<<<<<<<<
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:
 *             self.scope.use_utility_code(UtilityCode.load_cached("OptionalLocals", "CppSupport.cpp"))
*/
    __pyx_t_7 = __pyx_v_PyrexTypes;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_type};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_c_ptr_type, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF_SET(__pyx_v_type, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1270
 *         elif type.is_reference and not type.is_fake_reference:
 *             type = type.ref_base_type
 *         elif type.is_cfunction:             # <<<<<<<<<<<<<<
 *             from . import PyrexTypes
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1273
 *             from . import PyrexTypes
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:             # <<<<<<<<<<<<<<
 *             self.scope.use_utility_code(UtilityCode.load_cached("OptionalLocals", "CppSupport.cpp"))
 *         if not type.needs_refcounting:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_cpp_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_fake_reference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (!__pyx_t_3);
  if (__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->scope, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_cpp_locals); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __pyx_t_4;
  __pyx_L8_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1274
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:
 *             self.scope.use_utility_code(UtilityCode.load_cached("OptionalLocals", "CppSupport.cpp"))             # <<<<<<<<<<<<<<
 *         if not type.needs_refcounting:
 *             # Make manage_ref canonical, so that manage_ref will always mean
*/
    __pyx_t_2 = __pyx_v_self->scope;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_mstate_global->__pyx_tuple[4], NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1274, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1273
 *             from . import PyrexTypes
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:             # <<<<<<<<<<<<<<
 *             self.scope.use_utility_code(UtilityCode.load_cached("OptionalLocals", "CppSupport.cpp"))
 *         if not type.needs_refcounting:
*/
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1275
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:
 *             self.scope.use_utility_code(UtilityCode.load_cached("OptionalLocals", "CppSupport.cpp"))
 *         if not type.needs_refcounting:             # <<<<<<<<<<<<<<
 *             # Make manage_ref canonical, so that manage_ref will always mean
 *             # a decref is needed.
*/
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_needs_refcounting); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_4 = (!__pyx_t_1);
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1278
 *             # Make manage_ref canonical, so that manage_ref will always mean
 *             # a decref is needed.
 *             manage_ref = False             # <<<<<<<<<<<<<<
 * 
 *         freelist = self.temps_free.get((type, manage_ref))
*/
    __Pyx_INCREF(Py_False);
    __Pyx_DECREF_SET(__pyx_v_manage_ref, Py_False);

    /* "Cython/Compiler/Code.py":1275
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:
 *             self.scope.use_utility_code(UtilityCode.load_cached("OptionalLocals", "CppSupport.cpp"))
 *         if not type.needs_refcounting:             # <<<<<<<<<<<<<<
 *             # Make manage_ref canonical, so that manage_ref will always mean
 *             # a decref is needed.
*/
  }

  /* "Cython/Compiler/Code.py":1280
 *             manage_ref = False
 * 
 *         freelist = self.temps_free.get((type, manage_ref))             # <<<<<<<<<<<<<<
 *         if reusable and freelist is not None and freelist[0]:
 *             result = freelist[0].pop()
*/
  if (unlikely(__pyx_v_self->temps_free == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
    __PYX_ERR(0, 1280, __pyx_L1_error)
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_type) != (0)) __PYX_ERR(0, 1280, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_manage_ref);
  __Pyx_GIVEREF(__pyx_v_manage_ref);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_manage_ref) != (0)) __PYX_ERR(0, 1280, __pyx_L1_error);
  __pyx_t_10 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->temps_free, __pyx_t_7, Py_None); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_freelist = __pyx_t_10;
  __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1281
 * 
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if reusable and freelist is not None and freelist[0]:             # <<<<<<<<<<<<<<
 *             result = freelist[0].pop()
 *             freelist[1].remove(result)
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_reusable); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1281, __pyx_L1_error)
  if (__pyx_t_1) {
  } else {
    __pyx_t_4 = __pyx_t_1;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_freelist != Py_None);
  if (__pyx_t_1) {
  } else {
    __pyx_t_4 = __pyx_t_1;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_freelist, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_4 = __pyx_t_1;
  __pyx_L13_bool_binop_done:;
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1282
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if reusable and freelist is not None and freelist[0]:
 *             result = freelist[0].pop()             # <<<<<<<<<<<<<<
 *             freelist[1].remove(result)
 *         else:
*/
    __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_freelist, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_7 = __Pyx_PyObject_Pop(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_v_result = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1283
 *         if reusable and freelist is not None and freelist[0]:
 *             result = freelist[0].pop()
 *             freelist[1].remove(result)             # <<<<<<<<<<<<<<
 *         else:
 *             while True:
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = __pyx_t_2;
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_result};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_remove, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1283, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1281
 * 
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if reusable and freelist is not None and freelist[0]:             # <<<<<<<<<<<<<<
 *             result = freelist[0].pop()
 *             freelist[1].remove(result)
*/
    goto __pyx_L12;
  }

  /* "Cython/Compiler/Code.py":1285
 *             freelist[1].remove(result)
 *         else:
 *             while True:             # <<<<<<<<<<<<<<
 *                 self.temp_counter += 1
 *                 result = "%s%d" % (Naming.codewriter_temp_prefix, self.temp_counter)
*/
  /*else*/ {
    while (1) {

      /* "Cython/Compiler/Code.py":1286
 *         else:
 *             while True:
 *                 self.temp_counter += 1             # <<<<<<<<<<<<<<
 *                 result = "%s%d" % (Naming.codewriter_temp_prefix, self.temp_counter)
 *                 if result not in self.names_taken: break
*/
      __pyx_v_self->temp_counter = (__pyx_v_self->temp_counter + 1);

      /* "Cython/Compiler/Code.py":1287
 *             while True:
 *                 self.temp_counter += 1
 *                 result = "%s%d" % (Naming.codewriter_temp_prefix, self.temp_counter)             # <<<<<<<<<<<<<<
 *                 if result not in self.names_taken: break
 *             self.temps_allocated.append((result, type, manage_ref, static))
*/
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_codewriter_temp_prefix); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_7), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_From_size_t(__pyx_v_self->temp_counter, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_10);
      __pyx_t_10 = 0;

      /* "Cython/Compiler/Code.py":1288
 *                 self.temp_counter += 1
 *                 result = "%s%d" % (Naming.codewriter_temp_prefix, self.temp_counter)
 *                 if result not in self.names_taken: break             # <<<<<<<<<<<<<<
 *             self.temps_allocated.append((result, type, manage_ref, static))
 *             if not reusable:
*/
      if (unlikely(__pyx_v_self->names_taken == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
        __PYX_ERR(0, 1288, __pyx_L1_error)
      }
      __pyx_t_4 = (__Pyx_PySet_ContainsTF(__pyx_v_result, __pyx_v_self->names_taken, Py_NE)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 1288, __pyx_L1_error)
      if (__pyx_t_4) {
        goto __pyx_L17_break;
      }
    }
    __pyx_L17_break:;

    /* "Cython/Compiler/Code.py":1289
 *                 result = "%s%d" % (Naming.codewriter_temp_prefix, self.temp_counter)
 *                 if result not in self.names_taken: break
 *             self.temps_allocated.append((result, type, manage_ref, static))             # <<<<<<<<<<<<<<
 *             if not reusable:
 *                 self.zombie_temps.add(result)
*/
    if (unlikely(__pyx_v_self->temps_allocated == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
      __PYX_ERR(0, 1289, __pyx_L1_error)
    }
    if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 1289, __pyx_L1_error) }
    __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_result) != (0)) __PYX_ERR(0, 1289, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_type) != (0)) __PYX_ERR(0, 1289, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_manage_ref);
    __Pyx_GIVEREF(__pyx_v_manage_ref);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_v_manage_ref) != (0)) __PYX_ERR(0, 1289, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_static);
    __Pyx_GIVEREF(__pyx_v_static);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_v_static) != (0)) __PYX_ERR(0, 1289, __pyx_L1_error);
    __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_self->temps_allocated, __pyx_t_10); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 1289, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":1290
 *                 if result not in self.names_taken: break
 *             self.temps_allocated.append((result, type, manage_ref, static))
 *             if not reusable:             # <<<<<<<<<<<<<<
 *                 self.zombie_temps.add(result)
 *         self.temps_used_type[result] = (type, manage_ref)
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_reusable); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 1290, __pyx_L1_error)
    __pyx_t_1 = (!__pyx_t_4);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":1291
 *             self.temps_allocated.append((result, type, manage_ref, static))
 *             if not reusable:
 *                 self.zombie_temps.add(result)             # <<<<<<<<<<<<<<
 *         self.temps_used_type[result] = (type, manage_ref)
 *         if DebugFlags.debug_temp_code_comments:
*/
      if (unlikely(__pyx_v_self->zombie_temps == Py_None)) {
        PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
        __PYX_ERR(0, 1291, __pyx_L1_error)
      }
      if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 1291, __pyx_L1_error) }
      __pyx_t_11 = PySet_Add(__pyx_v_self->zombie_temps, __pyx_v_result); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 1291, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":1290
 *                 if result not in self.names_taken: break
 *             self.temps_allocated.append((result, type, manage_ref, static))
 *             if not reusable:             # <<<<<<<<<<<<<<
 *                 self.zombie_temps.add(result)
 *         self.temps_used_type[result] = (type, manage_ref)
*/
    }
  }
  __pyx_L12:;

  /* "Cython/Compiler/Code.py":1292
 *             if not reusable:
 *                 self.zombie_temps.add(result)
 *         self.temps_used_type[result] = (type, manage_ref)             # <<<<<<<<<<<<<<
 *         if DebugFlags.debug_temp_code_comments:
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s)%s *[inserted by cython to avoid comment closer]/" % (result, type, "" if reusable else " - zombie"))
*/
  __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_type) != (0)) __PYX_ERR(0, 1292, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_manage_ref);
  __Pyx_GIVEREF(__pyx_v_manage_ref);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_manage_ref) != (0)) __PYX_ERR(0, 1292, __pyx_L1_error);
  if (unlikely(__pyx_v_self->temps_used_type == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 1292, __pyx_L1_error)
  }
  if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 1292, __pyx_L1_error) }
  if (unlikely((PyDict_SetItem(__pyx_v_self->temps_used_type, __pyx_v_result, __pyx_t_10) < 0))) __PYX_ERR(0, 1292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1293
 *                 self.zombie_temps.add(result)
 *         self.temps_used_type[result] = (type, manage_ref)
 *         if DebugFlags.debug_temp_code_comments:             # <<<<<<<<<<<<<<
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s)%s *[inserted by cython to avoid comment closer]/" % (result, type, "" if reusable else " - zombie"))
 * 
*/
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_DebugFlags, __pyx_mstate_global->__pyx_n_u_debug_temp_code_comments); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1294
 *         self.temps_used_type[result] = (type, manage_ref)
 *         if DebugFlags.debug_temp_code_comments:
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s)%s *[inserted by cython to avoid comment closer]/" % (result, type, "" if reusable else " - zombie"))             # <<<<<<<<<<<<<<
 * 
 *         if self.collect_temps_stack:
*/
    __pyx_t_7 = __pyx_v_self->owner;
    __Pyx_INCREF(__pyx_t_7);
    if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 1294, __pyx_L1_error) }
    __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_result), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_type), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_reusable); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1294, __pyx_L1_error)
    if (__pyx_t_1) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
      __pyx_t_12 = __pyx_mstate_global->__pyx_kp_u__9;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_zombie);
      __pyx_t_12 = __pyx_mstate_global->__pyx_kp_u_zombie;
    }
    __pyx_t_13 = __Pyx_PyUnicode_Unicode(__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_14[0] = __pyx_mstate_global->__pyx_kp_u__24;
    __pyx_t_14[1] = __pyx_t_2;
    __pyx_t_14[2] = __pyx_mstate_global->__pyx_kp_u_allocated;
    __pyx_t_14[3] = __pyx_t_9;
    __pyx_t_14[4] = __pyx_mstate_global->__pyx_kp_u__7;
    __pyx_t_14[5] = __pyx_t_13;
    __pyx_t_14[6] = __pyx_mstate_global->__pyx_kp_u__25;
    __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_14, 7, 3 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 12 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13));
    if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_12};
      __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1294, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":1293
 *                 self.zombie_temps.add(result)
 *         self.temps_used_type[result] = (type, manage_ref)
 *         if DebugFlags.debug_temp_code_comments:             # <<<<<<<<<<<<<<
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s)%s *[inserted by cython to avoid comment closer]/" % (result, type, "" if reusable else " - zombie"))
 * 
*/
  }

  /* "Cython/Compiler/Code.py":1296
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s)%s *[inserted by cython to avoid comment closer]/" % (result, type, "" if reusable else " - zombie"))
 * 
 *         if self.collect_temps_stack:             # <<<<<<<<<<<<<<
 *             self.collect_temps_stack[-1].add((result, type))
 * 
*/
  if (__pyx_v_self->collect_temps_stack == Py_None) __pyx_t_1 = 0;
  else
  {
    Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_self->collect_temps_stack);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 1296, __pyx_L1_error)
    __pyx_t_1 = (__pyx_temp != 0);
  }

  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1297
 * 
 *         if self.collect_temps_stack:
 *             self.collect_temps_stack[-1].add((result, type))             # <<<<<<<<<<<<<<
 * 
 *         return result
*/
    if (unlikely(__pyx_v_self->collect_temps_stack == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 1297, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_self->collect_temps_stack, -1L, long, 1, __Pyx_PyLong_From_long, 1, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_12 = __pyx_t_7;
    __Pyx_INCREF(__pyx_t_12);
    if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 1297, __pyx_L1_error) }
    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_v_result) != (0)) __PYX_ERR(0, 1297, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_v_type) != (0)) __PYX_ERR(0, 1297, __pyx_L1_error);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_13};
      __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1297, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":1296
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s)%s *[inserted by cython to avoid comment closer]/" % (result, type, "" if reusable else " - zombie"))
 * 
 *         if self.collect_temps_stack:             # <<<<<<<<<<<<<<
 *             self.collect_temps_stack[-1].add((result, type))
 * 
*/
  }

  /* "Cython/Compiler/Code.py":1299
 *             self.collect_temps_stack[-1].add((result, type))
 * 
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def release_temp(self, name):
*/
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 1299, __pyx_L1_error) }
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1243
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False, reusable=True):             # <<<<<<<<<<<<<<
 *         """
 *         Allocates a temporary (which may create a new one or get a previously
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.allocate_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_PyrexTypes);
  __Pyx_XDECREF(__pyx_v_freelist);
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_type);
  __Pyx_XDECREF(__pyx_v_manage_ref);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1301
 *         return result
 * 
 *     def release_temp(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Releases a temporary so that it can be reused by other code needing
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_29release_temp(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13FunctionState_28release_temp, "\n        Releases a temporary so that it can be reused by other code needing\n        a temp of the same type.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_29release_temp = {"release_temp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_29release_temp, METH_O, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_28release_temp};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_29release_temp(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("release_temp (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_28release_temp(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_28release_temp(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_v_type = NULL;
  PyObject *__pyx_v_manage_ref = NULL;
  PyObject *__pyx_v_freelist = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *(*__pyx_t_5)(PyObject *);
  int __pyx_t_6;
  size_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10[5];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("release_temp", 0);

  /* "Cython/Compiler/Code.py":1306
 *         a temp of the same type.
 *         """
 *         type, manage_ref = self.temps_used_type[name]             # <<<<<<<<<<<<<<
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if freelist is None:
*/
  if (unlikely(__pyx_v_self->temps_used_type == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 1306, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_self->temps_used_type, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 1306, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_3);
    } else {
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1306, __pyx_L1_error)
      __Pyx_XGOTREF(__pyx_t_3);
    }
    #else
    __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4);
    index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < (0)) __PYX_ERR(0, 1306, __pyx_L1_error)
    __pyx_t_5 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 1306, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_type = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_manage_ref = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1307
 *         """
 *         type, manage_ref = self.temps_used_type[name]
 *         freelist = self.temps_free.get((type, manage_ref))             # <<<<<<<<<<<<<<
 *         if freelist is None:
 *             freelist = ([], set())  # keep order in list and make lookups in set fast
*/
  if (unlikely(__pyx_v_self->temps_free == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
    __PYX_ERR(0, 1307, __pyx_L1_error)
  }
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_type) != (0)) __PYX_ERR(0, 1307, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_manage_ref);
  __Pyx_GIVEREF(__pyx_v_manage_ref);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_manage_ref) != (0)) __PYX_ERR(0, 1307, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->temps_free, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_freelist = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1308
 *         type, manage_ref = self.temps_used_type[name]
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if freelist is None:             # <<<<<<<<<<<<<<
 *             freelist = ([], set())  # keep order in list and make lookups in set fast
 *             self.temps_free[(type, manage_ref)] = freelist
*/
  __pyx_t_6 = (__pyx_v_freelist == Py_None);
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":1309
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if freelist is None:
 *             freelist = ([], set())  # keep order in list and make lookups in set fast             # <<<<<<<<<<<<<<
 *             self.temps_free[(type, manage_ref)] = freelist
 *         if name in freelist[1]:
*/
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 1309, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 1309, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_freelist, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1310
 *         if freelist is None:
 *             freelist = ([], set())  # keep order in list and make lookups in set fast
 *             self.temps_free[(type, manage_ref)] = freelist             # <<<<<<<<<<<<<<
 *         if name in freelist[1]:
 *             raise RuntimeError("Temp %s freed twice!" % name)
*/
    if (unlikely(__pyx_v_self->temps_free == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 1310, __pyx_L1_error)
    }
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_type) != (0)) __PYX_ERR(0, 1310, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_manage_ref);
    __Pyx_GIVEREF(__pyx_v_manage_ref);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_manage_ref) != (0)) __PYX_ERR(0, 1310, __pyx_L1_error);
    if (unlikely((PyDict_SetItem(__pyx_v_self->temps_free, __pyx_t_2, __pyx_v_freelist) < 0))) __PYX_ERR(0, 1310, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1308
 *         type, manage_ref = self.temps_used_type[name]
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if freelist is None:             # <<<<<<<<<<<<<<
 *             freelist = ([], set())  # keep order in list and make lookups in set fast
 *             self.temps_free[(type, manage_ref)] = freelist
*/
  }

  /* "Cython/Compiler/Code.py":1311
 *             freelist = ([], set())  # keep order in list and make lookups in set fast
 *             self.temps_free[(type, manage_ref)] = freelist
 *         if name in freelist[1]:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Temp %s freed twice!" % name)
 *         if name not in self.zombie_temps:
*/
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(__pyx_t_6)) {

    /* "Cython/Compiler/Code.py":1312
 *             self.temps_free[(type, manage_ref)] = freelist
 *         if name in freelist[1]:
 *             raise RuntimeError("Temp %s freed twice!" % name)             # <<<<<<<<<<<<<<
 *         if name not in self.zombie_temps:
 *             freelist[0].append(name)
*/
    __pyx_t_1 = NULL;
    __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Temp_s_freed_twice, __pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1312, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 1312, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":1311
 *             freelist = ([], set())  # keep order in list and make lookups in set fast
 *             self.temps_free[(type, manage_ref)] = freelist
 *         if name in freelist[1]:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Temp %s freed twice!" % name)
 *         if name not in self.zombie_temps:
*/
  }

  /* "Cython/Compiler/Code.py":1313
 *         if name in freelist[1]:
 *             raise RuntimeError("Temp %s freed twice!" % name)
 *         if name not in self.zombie_temps:             # <<<<<<<<<<<<<<
 *             freelist[0].append(name)
 *         freelist[1].add(name)
*/
  if (unlikely(__pyx_v_self->zombie_temps == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 1313, __pyx_L1_error)
  }
  __pyx_t_6 = (__Pyx_PySet_ContainsTF(__pyx_v_name, __pyx_v_self->zombie_temps, Py_NE)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1313, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":1314
 *             raise RuntimeError("Temp %s freed twice!" % name)
 *         if name not in self.zombie_temps:
 *             freelist[0].append(name)             # <<<<<<<<<<<<<<
 *         freelist[1].add(name)
 *         if DebugFlags.debug_temp_code_comments:
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_freelist, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_Append(__pyx_t_2, __pyx_v_name); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1314, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1313
 *         if name in freelist[1]:
 *             raise RuntimeError("Temp %s freed twice!" % name)
 *         if name not in self.zombie_temps:             # <<<<<<<<<<<<<<
 *             freelist[0].append(name)
 *         freelist[1].add(name)
*/
  }

  /* "Cython/Compiler/Code.py":1315
 *         if name not in self.zombie_temps:
 *             freelist[0].append(name)
 *         freelist[1].add(name)             # <<<<<<<<<<<<<<
 *         if DebugFlags.debug_temp_code_comments:
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released %s*[inserted by cython to avoid comment closer]/" % (
*/
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1316
 *             freelist[0].append(name)
 *         freelist[1].add(name)
 *         if DebugFlags.debug_temp_code_comments:             # <<<<<<<<<<<<<<
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released %s*[inserted by cython to avoid comment closer]/" % (
 *                 name, " - zombie" if name in self.zombie_temps else ""))
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_DebugFlags, __pyx_mstate_global->__pyx_n_u_debug_temp_code_comments); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":1317
 *         freelist[1].add(name)
 *         if DebugFlags.debug_temp_code_comments:
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released %s*[inserted by cython to avoid comment closer]/" % (             # <<<<<<<<<<<<<<
 *                 name, " - zombie" if name in self.zombie_temps else ""))
 * 
*/
    __pyx_t_1 = __pyx_v_self->owner;
    __Pyx_INCREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1318
 *         if DebugFlags.debug_temp_code_comments:
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released %s*[inserted by cython to avoid comment closer]/" % (
 *                 name, " - zombie" if name in self.zombie_temps else ""))             # <<<<<<<<<<<<<<
 * 
 *     def temps_in_use(self):
*/
    __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(__pyx_v_self->zombie_temps == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 1318, __pyx_L1_error)
    }
    __pyx_t_6 = (__Pyx_PySet_ContainsTF(__pyx_v_name, __pyx_v_self->zombie_temps, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1318, __pyx_L1_error)
    if (__pyx_t_6) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_zombie);
      __pyx_t_4 = __pyx_mstate_global->__pyx_kp_u_zombie;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
      __pyx_t_4 = __pyx_mstate_global->__pyx_kp_u__9;
    }
    __pyx_t_9 = __Pyx_PyUnicode_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u__24;
    __pyx_t_10[1] = __pyx_t_3;
    __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u_released;
    __pyx_t_10[3] = __pyx_t_9;
    __pyx_t_10[4] = __pyx_mstate_global->__pyx_kp_u__19;

    /* "Cython/Compiler/Code.py":1317
 *         freelist[1].add(name)
 *         if DebugFlags.debug_temp_code_comments:
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released %s*[inserted by cython to avoid comment closer]/" % (             # <<<<<<<<<<<<<<
 *                 name, " - zombie" if name in self.zombie_temps else ""))
 * 
*/
    __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_10, 5, 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9));
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1316
 *             freelist[0].append(name)
 *         freelist[1].add(name)
 *         if DebugFlags.debug_temp_code_comments:             # <<<<<<<<<<<<<<
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released %s*[inserted by cython to avoid comment closer]/" % (
 *                 name, " - zombie" if name in self.zombie_temps else ""))
*/
  }

  /* "Cython/Compiler/Code.py":1301
 *         return result
 * 
 *     def release_temp(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Releases a temporary so that it can be reused by other code needing
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.release_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_type);
  __Pyx_XDECREF(__pyx_v_manage_ref);
  __Pyx_XDECREF(__pyx_v_freelist);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1320
 *                 name, " - zombie" if name in self.zombie_temps else ""))
 * 
 *     def temps_in_use(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname,type,manage_ref) tuples of temp names and their type
 *         that are currently in use.
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_in_use(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_temps_in_use(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_v_used = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_type = NULL;
  PyObject *__pyx_v_manage_ref = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_static = NULL;
  PyObject *__pyx_v_freelist = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("temps_in_use", 0);

  /* "Cython/Compiler/Code.py":1324
 *         that are currently in use.
 *         """
 *         used = []             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in self.temps_allocated:
 *             freelist = self.temps_free.get((type, manage_ref))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_used = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1325
 *         """
 *         used = []
 *         for name, type, manage_ref, static in self.temps_allocated:             # <<<<<<<<<<<<<<
 *             freelist = self.temps_free.get((type, manage_ref))
 *             if freelist is None or name not in freelist[1]:
*/
  if (unlikely(__pyx_v_self->temps_allocated == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 1325, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_v_self->temps_allocated; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1325, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_2;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
      PyObject* sequence = __pyx_t_3;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 4)) {
        if (size > 4) __Pyx_RaiseTooManyValuesError(4);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1325, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_4);
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_5);
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 3);
        __Pyx_INCREF(__pyx_t_7);
      } else {
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1325, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1325, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_5);
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1325, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 3, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1325, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
      }
      #else
      {
        Py_ssize_t i;
        PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_5,&__pyx_t_6,&__pyx_t_7};
        for (i=0; i < 4; i++) {
          PyObject* item = __Pyx_PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1325, __pyx_L1_error)
          __Pyx_GOTREF(item);
          *(temps[i]) = item;
        }
      }
      #endif
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      Py_ssize_t index = -1;
      PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_5,&__pyx_t_6,&__pyx_t_7};
      __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
      for (index=0; index < 4; index++) {
        PyObject* item = __pyx_t_9(__pyx_t_8); if (unlikely(!item)) goto __pyx_L5_unpacking_failed;
        __Pyx_GOTREF(item);
        *(temps[index]) = item;
      }
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 4) < (0)) __PYX_ERR(0, 1325, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1325, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_manage_ref, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_static, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1326
 *         used = []
 *         for name, type, manage_ref, static in self.temps_allocated:
 *             freelist = self.temps_free.get((type, manage_ref))             # <<<<<<<<<<<<<<
 *             if freelist is None or name not in freelist[1]:
 *                 used.append((name, type, manage_ref and type.needs_refcounting))
*/
    if (unlikely(__pyx_v_self->temps_free == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
      __PYX_ERR(0, 1326, __pyx_L1_error)
    }
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_type) != (0)) __PYX_ERR(0, 1326, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_manage_ref);
    __Pyx_GIVEREF(__pyx_v_manage_ref);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_manage_ref) != (0)) __PYX_ERR(0, 1326, __pyx_L1_error);
    __pyx_t_7 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->temps_free, __pyx_t_3, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF_SET(__pyx_v_freelist, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1327
 *         for name, type, manage_ref, static in self.temps_allocated:
 *             freelist = self.temps_free.get((type, manage_ref))
 *             if freelist is None or name not in freelist[1]:             # <<<<<<<<<<<<<<
 *                 used.append((name, type, manage_ref and type.needs_refcounting))
 *         return used
*/
    __pyx_t_11 = (__pyx_v_freelist == Py_None);
    if (!__pyx_t_11) {
    } else {
      __pyx_t_10 = __pyx_t_11;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_7, Py_NE)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1327, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_10 = __pyx_t_11;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_10) {

      /* "Cython/Compiler/Code.py":1328
 *             freelist = self.temps_free.get((type, manage_ref))
 *             if freelist is None or name not in freelist[1]:
 *                 used.append((name, type, manage_ref and type.needs_refcounting))             # <<<<<<<<<<<<<<
 *         return used
 * 
*/
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_manage_ref); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 1328, __pyx_L1_error)
      if (__pyx_t_10) {
      } else {
        __Pyx_INCREF(__pyx_v_manage_ref);
        __pyx_t_7 = __pyx_v_manage_ref;
        goto __pyx_L10_bool_binop_done;
      }
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_needs_refcounting); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_7 = __pyx_t_3;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_L10_bool_binop_done:;
      __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_v_name);
      __Pyx_GIVEREF(__pyx_v_name);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_name) != (0)) __PYX_ERR(0, 1328, __pyx_L1_error);
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_type) != (0)) __PYX_ERR(0, 1328, __pyx_L1_error);
      __Pyx_GIVEREF(__pyx_t_7);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 1328, __pyx_L1_error);
      __pyx_t_7 = 0;
      __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_used, __pyx_t_3); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 1328, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":1327
 *         for name, type, manage_ref, static in self.temps_allocated:
 *             freelist = self.temps_free.get((type, manage_ref))
 *             if freelist is None or name not in freelist[1]:             # <<<<<<<<<<<<<<
 *                 used.append((name, type, manage_ref and type.needs_refcounting))
 *         return used
*/
    }

    /* "Cython/Compiler/Code.py":1325
 *         """
 *         used = []
 *         for name, type, manage_ref, static in self.temps_allocated:             # <<<<<<<<<<<<<<
 *             freelist = self.temps_free.get((type, manage_ref))
 *             if freelist is None or name not in freelist[1]:
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1329
 *             if freelist is None or name not in freelist[1]:
 *                 used.append((name, type, manage_ref and type.needs_refcounting))
 *         return used             # <<<<<<<<<<<<<<
 * 
 *     def temps_holding_reference(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_used);
  __pyx_r = __pyx_v_used;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1320
 *                 name, " - zombie" if name in self.zombie_temps else ""))
 * 
 *     def temps_in_use(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname,type,manage_ref) tuples of temp names and their type
 *         that are currently in use.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.temps_in_use", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_used);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_type);
  __Pyx_XDECREF(__pyx_v_manage_ref);
  __Pyx_XDECREF(__pyx_v_static);
  __Pyx_XDECREF(__pyx_v_freelist);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_in_use(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13FunctionState_30temps_in_use, "Return a list of (cname,type,manage_ref) tuples of temp names and their type\n        that are currently in use.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_31temps_in_use = {"temps_in_use", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_in_use, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_30temps_in_use};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_in_use(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("temps_in_use (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30temps_in_use(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30temps_in_use(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("temps_in_use", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_temps_in_use(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.temps_in_use", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1331
 *         return used
 * 
 *     def temps_holding_reference(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname,type) tuples of temp names and their type
 *         that are currently in use. This includes only temps
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_33temps_holding_reference(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13FunctionState_32temps_holding_reference, "Return a list of (cname,type) tuples of temp names and their type\n        that are currently in use. This includes only temps\n        with a reference counted type which owns its reference.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_33temps_holding_reference = {"temps_holding_reference", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_33temps_holding_reference, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_32temps_holding_reference};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_33temps_holding_reference(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("temps_holding_reference (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_32temps_holding_reference(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_32temps_holding_reference(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_8genexpr7__pyx_v_name = NULL;
  PyObject *__pyx_8genexpr7__pyx_v_type = NULL;
  PyObject *__pyx_8genexpr7__pyx_v_manage_ref = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("temps_holding_reference", 0);

  /* "Cython/Compiler/Code.py":1336
 *         with a reference counted type which owns its reference.
 *         """
 *         return [(name, type)             # <<<<<<<<<<<<<<
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref and type.needs_refcounting]
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1336, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1337
 *         """
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()             # <<<<<<<<<<<<<<
 *                 if manage_ref and type.needs_refcounting]
 * 
*/
    __pyx_t_2 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_temps_in_use(__pyx_v_self, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1337, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__pyx_t_2 == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 1337, __pyx_L5_error)
    }
    __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1337, __pyx_L5_error)
        #endif
        if (__pyx_t_4 >= __pyx_temp) break;
      }
      __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_4;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1337, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
        PyObject* sequence = __pyx_t_2;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 3)) {
          if (size > 3) __Pyx_RaiseTooManyValuesError(3);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 1337, __pyx_L5_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_5);
          __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_6);
          __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2);
          __Pyx_INCREF(__pyx_t_7);
        } else {
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1337, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1337, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1337, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_7);
        }
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1337, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1337, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1337, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        #endif
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1337, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
        index = 0; __pyx_t_5 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L8_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L8_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_6);
        index = 2; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_7);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 3) < (0)) __PYX_ERR(0, 1337, __pyx_L5_error)
        __pyx_t_9 = NULL;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L9_unpacking_done;
        __pyx_L8_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 1337, __pyx_L5_error)
        __pyx_L9_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v_name, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v_type, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v_manage_ref, __pyx_t_7);
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":1338
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref and type.needs_refcounting]             # <<<<<<<<<<<<<<
 * 
 *     def all_managed_temps(self):
*/
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_8genexpr7__pyx_v_manage_ref); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1338, __pyx_L5_error)
      if (__pyx_t_11) {
      } else {
        __pyx_t_10 = __pyx_t_11;
        goto __pyx_L11_bool_binop_done;
      }
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr7__pyx_v_type, __pyx_mstate_global->__pyx_n_u_needs_refcounting); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1338, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1338, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_10 = __pyx_t_11;
      __pyx_L11_bool_binop_done:;
      if (__pyx_t_10) {

        /* "Cython/Compiler/Code.py":1336
 *         with a reference counted type which owns its reference.
 *         """
 *         return [(name, type)             # <<<<<<<<<<<<<<
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref and type.needs_refcounting]
*/
        __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1336, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_8genexpr7__pyx_v_name);
        __Pyx_GIVEREF(__pyx_8genexpr7__pyx_v_name);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_8genexpr7__pyx_v_name) != (0)) __PYX_ERR(0, 1336, __pyx_L5_error);
        __Pyx_INCREF(__pyx_8genexpr7__pyx_v_type);
        __Pyx_GIVEREF(__pyx_8genexpr7__pyx_v_type);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_8genexpr7__pyx_v_type) != (0)) __PYX_ERR(0, 1336, __pyx_L5_error);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 1336, __pyx_L5_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":1338
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref and type.needs_refcounting]             # <<<<<<<<<<<<<<
 * 
 *     def all_managed_temps(self):
*/
      }

      /* "Cython/Compiler/Code.py":1337
 *         """
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()             # <<<<<<<<<<<<<<
 *                 if manage_ref and type.needs_refcounting]
 * 
*/
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_manage_ref); __pyx_8genexpr7__pyx_v_manage_ref = 0;
    __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_name); __pyx_8genexpr7__pyx_v_name = 0;
    __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_type); __pyx_8genexpr7__pyx_v_type = 0;
    goto __pyx_L14_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_manage_ref); __pyx_8genexpr7__pyx_v_manage_ref = 0;
    __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_name); __pyx_8genexpr7__pyx_v_name = 0;
    __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_type); __pyx_8genexpr7__pyx_v_type = 0;
    goto __pyx_L1_error;
    __pyx_L14_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1331
 *         return used
 * 
 *     def temps_holding_reference(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname,type) tuples of temp names and their type
 *         that are currently in use. This includes only temps
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.temps_holding_reference", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_name);
  __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_type);
  __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_manage_ref);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1340
 *                 if manage_ref and type.needs_refcounting]
 * 
 *     def all_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python objects.
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_35all_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13FunctionState_34all_managed_temps, "Return a list of (cname, type) tuples of refcount-managed Python objects.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_35all_managed_temps = {"all_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_35all_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_34all_managed_temps};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_35all_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_managed_temps (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_34all_managed_temps(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_34all_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_8genexpr8__pyx_v_cname = NULL;
  PyObject *__pyx_8genexpr8__pyx_v_type = NULL;
  PyObject *__pyx_8genexpr8__pyx_v_manage_ref = NULL;
  CYTHON_UNUSED PyObject *__pyx_8genexpr8__pyx_v_static = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *(*__pyx_t_10)(PyObject *);
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("all_managed_temps", 0);

  /* "Cython/Compiler/Code.py":1343
 *         """Return a list of (cname, type) tuples of refcount-managed Python objects.
 *         """
 *         return [(cname, type)             # <<<<<<<<<<<<<<
 *                 for cname, type, manage_ref, static in self.temps_allocated
 *                 if manage_ref]
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1343, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1344
 *         """
 *         return [(cname, type)
 *                 for cname, type, manage_ref, static in self.temps_allocated             # <<<<<<<<<<<<<<
 *                 if manage_ref]
 * 
*/
    if (unlikely(__pyx_v_self->temps_allocated == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 1344, __pyx_L5_error)
    }
    __pyx_t_2 = __pyx_v_self->temps_allocated; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1344, __pyx_L5_error)
        #endif
        if (__pyx_t_3 >= __pyx_temp) break;
      }
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_3;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1344, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
        PyObject* sequence = __pyx_t_4;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 4)) {
          if (size > 4) __Pyx_RaiseTooManyValuesError(4);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 1344, __pyx_L5_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_5);
          __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_6);
          __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2);
          __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3);
          __Pyx_INCREF(__pyx_t_8);
        } else {
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1344, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1344, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1344, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyList_GetItemRefFast(sequence, 3, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1344, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_8);
        }
        #else
        {
          Py_ssize_t i;
          PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_6,&__pyx_t_7,&__pyx_t_8};
          for (i=0; i < 4; i++) {
            PyObject* item = __Pyx_PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1344, __pyx_L5_error)
            __Pyx_GOTREF(item);
            *(temps[i]) = item;
          }
        }
        #endif
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        Py_ssize_t index = -1;
        PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_6,&__pyx_t_7,&__pyx_t_8};
        __pyx_t_9 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1344, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9);
        for (index=0; index < 4; index++) {
          PyObject* item = __pyx_t_10(__pyx_t_9); if (unlikely(!item)) goto __pyx_L8_unpacking_failed;
          __Pyx_GOTREF(item);
          *(temps[index]) = item;
        }
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 4) < (0)) __PYX_ERR(0, 1344, __pyx_L5_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L9_unpacking_done;
        __pyx_L8_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 1344, __pyx_L5_error)
        __pyx_L9_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v_cname, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v_type, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v_manage_ref, __pyx_t_7);
      __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v_static, __pyx_t_8);
      __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":1345
 *         return [(cname, type)
 *                 for cname, type, manage_ref, static in self.temps_allocated
 *                 if manage_ref]             # <<<<<<<<<<<<<<
 * 
 *     def all_free_managed_temps(self):
*/
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_8genexpr8__pyx_v_manage_ref); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 1345, __pyx_L5_error)
      if (__pyx_t_11) {

        /* "Cython/Compiler/Code.py":1343
 *         """Return a list of (cname, type) tuples of refcount-managed Python objects.
 *         """
 *         return [(cname, type)             # <<<<<<<<<<<<<<
 *                 for cname, type, manage_ref, static in self.temps_allocated
 *                 if manage_ref]
*/
        __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1343, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_INCREF(__pyx_8genexpr8__pyx_v_cname);
        __Pyx_GIVEREF(__pyx_8genexpr8__pyx_v_cname);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_8genexpr8__pyx_v_cname) != (0)) __PYX_ERR(0, 1343, __pyx_L5_error);
        __Pyx_INCREF(__pyx_8genexpr8__pyx_v_type);
        __Pyx_GIVEREF(__pyx_8genexpr8__pyx_v_type);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_8genexpr8__pyx_v_type) != (0)) __PYX_ERR(0, 1343, __pyx_L5_error);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 1343, __pyx_L5_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "Cython/Compiler/Code.py":1345
 *         return [(cname, type)
 *                 for cname, type, manage_ref, static in self.temps_allocated
 *                 if manage_ref]             # <<<<<<<<<<<<<<
 * 
 *     def all_free_managed_temps(self):
*/
      }

      /* "Cython/Compiler/Code.py":1344
 *         """
 *         return [(cname, type)
 *                 for cname, type, manage_ref, static in self.temps_allocated             # <<<<<<<<<<<<<<
 *                 if manage_ref]
 * 
*/
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_cname); __pyx_8genexpr8__pyx_v_cname = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_manage_ref); __pyx_8genexpr8__pyx_v_manage_ref = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_static); __pyx_8genexpr8__pyx_v_static = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_type); __pyx_8genexpr8__pyx_v_type = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_cname); __pyx_8genexpr8__pyx_v_cname = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_manage_ref); __pyx_8genexpr8__pyx_v_manage_ref = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_static); __pyx_8genexpr8__pyx_v_static = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_type); __pyx_8genexpr8__pyx_v_type = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1340
 *                 if manage_ref and type.needs_refcounting]
 * 
 *     def all_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python objects.
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.all_managed_temps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_cname);
  __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_type);
  __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_manage_ref);
  __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_static);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1347
 *                 if manage_ref]
 * 
 *     def all_free_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python
 *         objects that are not currently in use.  This is used by
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_37all_free_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13FunctionState_36all_free_managed_temps, "Return a list of (cname, type) tuples of refcount-managed Python\n        objects that are not currently in use.  This is used by\n        try-except and try-finally blocks to clean up temps in the\n        error case.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_37all_free_managed_temps = {"all_free_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_37all_free_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_36all_free_managed_temps};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_37all_free_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_free_managed_temps (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_36all_free_managed_temps(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_36all_free_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_8genexpr9__pyx_v_type = NULL;
  PyObject *__pyx_8genexpr9__pyx_v_manage_ref = NULL;
  PyObject *__pyx_8genexpr9__pyx_v_freelist = NULL;
  PyObject *__pyx_8genexpr9__pyx_v_cname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  PyObject *(*__pyx_t_15)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("all_free_managed_temps", 0);

  /* "Cython/Compiler/Code.py":1353
 *         error case.
 *         """
 *         return sorted([  # Enforce deterministic order.             # <<<<<<<<<<<<<<
 *             (cname, type)
 *             for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1353, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1355
 *         return sorted([  # Enforce deterministic order.
 *             (cname, type)
 *             for (type, manage_ref), freelist in self.temps_free.items() if manage_ref             # <<<<<<<<<<<<<<
 *             for cname in freelist[0]
 *         ])
*/
    __pyx_t_3 = 0;
    if (unlikely(__pyx_v_self->temps_free == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(0, 1355, __pyx_L5_error)
    }
    __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_self->temps_free, 1, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1355, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_t_6;
    __pyx_t_6 = 0;
    while (1) {
      __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_3, &__pyx_t_6, &__pyx_t_7, NULL, __pyx_t_5);
      if (unlikely(__pyx_t_8 == 0)) break;
      if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 1355, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);
      if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
        PyObject* sequence = __pyx_t_6;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 1355, __pyx_L5_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_9);
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_10);
        } else {
          __pyx_t_9 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1355, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_9);
          __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1355, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_10);
        }
        #else
        __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1355, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1355, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_10);
        #endif
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_11 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1355, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11);
        index = 0; __pyx_t_9 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_9)) goto __pyx_L8_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L8_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < (0)) __PYX_ERR(0, 1355, __pyx_L5_error)
        __pyx_t_12 = NULL;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L9_unpacking_done;
        __pyx_L8_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 1355, __pyx_L5_error)
        __pyx_L9_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_8genexpr9__pyx_v_type, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr9__pyx_v_manage_ref, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr9__pyx_v_freelist, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_8genexpr9__pyx_v_manage_ref); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 1355, __pyx_L5_error)
      if (__pyx_t_13) {

        /* "Cython/Compiler/Code.py":1356
 *             (cname, type)
 *             for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *             for cname in freelist[0]             # <<<<<<<<<<<<<<
 *         ])
 * 
*/
        __pyx_t_7 = __Pyx_GetItemInt(__pyx_8genexpr9__pyx_v_freelist, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1356, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
          __pyx_t_6 = __pyx_t_7; __Pyx_INCREF(__pyx_t_6);
          __pyx_t_14 = 0;
          __pyx_t_15 = NULL;
        } else {
          __pyx_t_14 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1356, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1356, __pyx_L5_error)
        }
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        for (;;) {
          if (likely(!__pyx_t_15)) {
            if (likely(PyList_CheckExact(__pyx_t_6))) {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1356, __pyx_L5_error)
                #endif
                if (__pyx_t_14 >= __pyx_temp) break;
              }
              __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_14, __Pyx_ReferenceSharing_OwnStrongReference);
              ++__pyx_t_14;
            } else {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1356, __pyx_L5_error)
                #endif
                if (__pyx_t_14 >= __pyx_temp) break;
              }
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_7 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_14));
              #else
              __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_14);
              #endif
              ++__pyx_t_14;
            }
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1356, __pyx_L5_error)
          } else {
            __pyx_t_7 = __pyx_t_15(__pyx_t_6);
            if (unlikely(!__pyx_t_7)) {
              PyObject* exc_type = PyErr_Occurred();
              if (exc_type) {
                if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 1356, __pyx_L5_error)
                PyErr_Clear();
              }
              break;
            }
          }
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_XDECREF_SET(__pyx_8genexpr9__pyx_v_cname, __pyx_t_7);
          __pyx_t_7 = 0;

          /* "Cython/Compiler/Code.py":1354
 *         """
 *         return sorted([  # Enforce deterministic order.
 *             (cname, type)             # <<<<<<<<<<<<<<
 *             for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *             for cname in freelist[0]
*/
          __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1354, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_INCREF(__pyx_8genexpr9__pyx_v_cname);
          __Pyx_GIVEREF(__pyx_8genexpr9__pyx_v_cname);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_8genexpr9__pyx_v_cname) != (0)) __PYX_ERR(0, 1354, __pyx_L5_error);
          __Pyx_INCREF(__pyx_8genexpr9__pyx_v_type);
          __Pyx_GIVEREF(__pyx_8genexpr9__pyx_v_type);
          if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_8genexpr9__pyx_v_type) != (0)) __PYX_ERR(0, 1354, __pyx_L5_error);
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 1353, __pyx_L5_error)
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

          /* "Cython/Compiler/Code.py":1356
 *             (cname, type)
 *             for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *             for cname in freelist[0]             # <<<<<<<<<<<<<<
 *         ])
 * 
*/
        }
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":1355
 *         return sorted([  # Enforce deterministic order.
 *             (cname, type)
 *             for (type, manage_ref), freelist in self.temps_free.items() if manage_ref             # <<<<<<<<<<<<<<
 *             for cname in freelist[0]
 *         ])
*/
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_cname); __pyx_8genexpr9__pyx_v_cname = 0;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_freelist); __pyx_8genexpr9__pyx_v_freelist = 0;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_manage_ref); __pyx_8genexpr9__pyx_v_manage_ref = 0;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_type); __pyx_8genexpr9__pyx_v_type = 0;
    goto __pyx_L14_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_cname); __pyx_8genexpr9__pyx_v_cname = 0;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_freelist); __pyx_8genexpr9__pyx_v_freelist = 0;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_manage_ref); __pyx_8genexpr9__pyx_v_manage_ref = 0;
    __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_type); __pyx_8genexpr9__pyx_v_type = 0;
    goto __pyx_L1_error;
    __pyx_L14_exit_scope:;
  } /* exit inner scope */

  /* "Cython/Compiler/Code.py":1353
 *         error case.
 *         """
 *         return sorted([  # Enforce deterministic order.             # <<<<<<<<<<<<<<
 *             (cname, type)
 *             for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
*/
  if (unlikely((PyList_Sort(__pyx_t_1) < 0))) __PYX_ERR(0, 1353, __pyx_L1_error)
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1347
 *                 if manage_ref]
 * 
 *     def all_free_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python
 *         objects that are not currently in use.  This is used by
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.all_free_managed_temps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_type);
  __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_manage_ref);
  __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_freelist);
  __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1359
 *         ])
 * 
 *     def start_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         """
 *         Useful to find out which temps were used in a code block
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_39start_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_start_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("start_collecting_temps", 0);

  /* "Cython/Compiler/Code.py":1363
 *         Useful to find out which temps were used in a code block
 *         """
 *         self.collect_temps_stack.append(set())             # <<<<<<<<<<<<<<
 * 
 *     def stop_collecting_temps(self):
*/
  if (unlikely(__pyx_v_self->collect_temps_stack == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
    __PYX_ERR(0, 1363, __pyx_L1_error)
  }
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyList_Append(__pyx_v_self->collect_temps_stack, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1359
 *         ])
 * 
 *     def start_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         """
 *         Useful to find out which temps were used in a code block
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.start_collecting_temps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_39start_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13FunctionState_38start_collecting_temps, "\n        Useful to find out which temps were used in a code block\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_39start_collecting_temps = {"start_collecting_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_39start_collecting_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_38start_collecting_temps};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_39start_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("start_collecting_temps (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_38start_collecting_temps(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_38start_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("start_collecting_temps", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_start_collecting_temps(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.start_collecting_temps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1365
 *         self.collect_temps_stack.append(set())
 * 
 *     def stop_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         return self.collect_temps_stack.pop()
 * 
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_41stop_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_stop_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("stop_collecting_temps", 0);

  /* "Cython/Compiler/Code.py":1366
 * 
 *     def stop_collecting_temps(self):
 *         return self.collect_temps_stack.pop()             # <<<<<<<<<<<<<<
 * 
 *     def init_closure_temps(self, scope):
*/
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(__pyx_v_self->collect_temps_stack == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
    __PYX_ERR(0, 1366, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->collect_temps_stack); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1365
 *         self.collect_temps_stack.append(set())
 * 
 *     def stop_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         return self.collect_temps_stack.pop()
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.stop_collecting_temps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_41stop_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_41stop_collecting_temps = {"stop_collecting_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_41stop_collecting_temps, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_41stop_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("stop_collecting_temps (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_40stop_collecting_temps(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_40stop_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("stop_collecting_temps", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_stop_collecting_temps(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.stop_collecting_temps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1368
 *         return self.collect_temps_stack.pop()
 * 
 *     def init_closure_temps(self, scope):             # <<<<<<<<<<<<<<
 *         self.closure_temps = ClosureTempAllocator(scope)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_43init_closure_temps(PyObject *__pyx_v_self, PyObject *__pyx_v_scope); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_43init_closure_temps = {"init_closure_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_43init_closure_temps, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_43init_closure_temps(PyObject *__pyx_v_self, PyObject *__pyx_v_scope) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("init_closure_temps (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_42init_closure_temps(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_scope));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_42init_closure_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_scope) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("init_closure_temps", 0);

  /* "Cython/Compiler/Code.py":1369
 * 
 *     def init_closure_temps(self, scope):
 *         self.closure_temps = ClosureTempAllocator(scope)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_scope};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->closure_temps);
  __Pyx_DECREF(__pyx_v_self->closure_temps);
  __pyx_v_self->closure_temps = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1368
 *         return self.collect_temps_stack.pop()
 * 
 *     def init_closure_temps(self, scope):             # <<<<<<<<<<<<<<
 *         self.closure_temps = ClosureTempAllocator(scope)
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.init_closure_temps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":40
 * cdef class FunctionState:
 *     cdef set names_taken
 *     cdef public object owner             # <<<<<<<<<<<<<<
 *     cdef public object scope
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->owner);
  __pyx_r = __pyx_v_self->owner;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->owner);
  __Pyx_DECREF(__pyx_v_self->owner);
  __pyx_v_self->owner = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5owner_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->owner);
  __Pyx_DECREF(__pyx_v_self->owner);
  __pyx_v_self->owner = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":41
 *     cdef set names_taken
 *     cdef public object owner
 *     cdef public object scope             # <<<<<<<<<<<<<<
 * 
 *     cdef public object error_label
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->scope);
  __pyx_r = __pyx_v_self->scope;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->scope);
  __Pyx_DECREF(__pyx_v_self->scope);
  __pyx_v_self->scope = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_5scope_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->scope);
  __Pyx_DECREF(__pyx_v_self->scope);
  __pyx_v_self->scope = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":43
 *     cdef public object scope
 * 
 *     cdef public object error_label             # <<<<<<<<<<<<<<
 *     cdef public size_t label_counter
 *     cdef public set labels_used
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->error_label);
  __pyx_r = __pyx_v_self->error_label;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->error_label);
  __Pyx_DECREF(__pyx_v_self->error_label);
  __pyx_v_self->error_label = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11error_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->error_label);
  __Pyx_DECREF(__pyx_v_self->error_label);
  __pyx_v_self->error_label = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":44
 * 
 *     cdef public object error_label
 *     cdef public size_t label_counter             # <<<<<<<<<<<<<<
 *     cdef public set labels_used
 *     cdef public object return_label
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13label_counter_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13label_counter_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13label_counter___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13label_counter___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(__pyx_v_self->label_counter); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.label_counter.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13label_counter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13label_counter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13label_counter_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13label_counter_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  size_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __pyx_t_1 = __Pyx_PyLong_As_size_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 44, __pyx_L1_error)
  __pyx_v_self->label_counter = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.label_counter.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":45
 *     cdef public object error_label
 *     cdef public size_t label_counter
 *     cdef public set labels_used             # <<<<<<<<<<<<<<
 *     cdef public object return_label
 *     cdef public object continue_label
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->labels_used);
  __pyx_r = __pyx_v_self->labels_used;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("set", __pyx_t_1))) __PYX_ERR(1, 45, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->labels_used);
  __Pyx_DECREF(__pyx_v_self->labels_used);
  __pyx_v_self->labels_used = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.labels_used.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11labels_used_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->labels_used);
  __Pyx_DECREF(__pyx_v_self->labels_used);
  __pyx_v_self->labels_used = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":46
 *     cdef public size_t label_counter
 *     cdef public set labels_used
 *     cdef public object return_label             # <<<<<<<<<<<<<<
 *     cdef public object continue_label
 *     cdef public object break_label
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->return_label);
  __pyx_r = __pyx_v_self->return_label;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->return_label);
  __Pyx_DECREF(__pyx_v_self->return_label);
  __pyx_v_self->return_label = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12return_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->return_label);
  __Pyx_DECREF(__pyx_v_self->return_label);
  __pyx_v_self->return_label = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":47
 *     cdef public set labels_used
 *     cdef public object return_label
 *     cdef public object continue_label             # <<<<<<<<<<<<<<
 *     cdef public object break_label
 *     cdef readonly list yield_labels
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->continue_label);
  __pyx_r = __pyx_v_self->continue_label;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->continue_label);
  __Pyx_DECREF(__pyx_v_self->continue_label);
  __pyx_v_self->continue_label = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14continue_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->continue_label);
  __Pyx_DECREF(__pyx_v_self->continue_label);
  __pyx_v_self->continue_label = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":48
 *     cdef public object return_label
 *     cdef public object continue_label
 *     cdef public object break_label             # <<<<<<<<<<<<<<
 *     cdef readonly list yield_labels
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->break_label);
  __pyx_r = __pyx_v_self->break_label;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->break_label);
  __Pyx_DECREF(__pyx_v_self->break_label);
  __pyx_v_self->break_label = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11break_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->break_label);
  __Pyx_DECREF(__pyx_v_self->break_label);
  __pyx_v_self->break_label = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":49
 *     cdef public object continue_label
 *     cdef public object break_label
 *     cdef readonly list yield_labels             # <<<<<<<<<<<<<<
 * 
 *     cdef public object return_from_error_cleanup_label # not used in __init__ ?
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12yield_labels___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12yield_labels___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->yield_labels);
  __pyx_r = __pyx_v_self->yield_labels;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":51
 *     cdef readonly list yield_labels
 * 
 *     cdef public object return_from_error_cleanup_label # not used in __init__ ?             # <<<<<<<<<<<<<<
 * 
 *     cdef public object exc_vars
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->return_from_error_cleanup_label);
  __pyx_r = __pyx_v_self->return_from_error_cleanup_label;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->return_from_error_cleanup_label);
  __Pyx_DECREF(__pyx_v_self->return_from_error_cleanup_label);
  __pyx_v_self->return_from_error_cleanup_label = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->return_from_error_cleanup_label);
  __Pyx_DECREF(__pyx_v_self->return_from_error_cleanup_label);
  __pyx_v_self->return_from_error_cleanup_label = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":53
 *     cdef public object return_from_error_cleanup_label # not used in __init__ ?
 * 
 *     cdef public object exc_vars             # <<<<<<<<<<<<<<
 *     cdef public object current_except
 *     cdef public bint can_trace
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->exc_vars);
  __pyx_r = __pyx_v_self->exc_vars;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->exc_vars);
  __Pyx_DECREF(__pyx_v_self->exc_vars);
  __pyx_v_self->exc_vars = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->exc_vars);
  __Pyx_DECREF(__pyx_v_self->exc_vars);
  __pyx_v_self->exc_vars = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":54
 * 
 *     cdef public object exc_vars
 *     cdef public object current_except             # <<<<<<<<<<<<<<
 *     cdef public bint can_trace
 *     cdef public bint gil_owned
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->current_except);
  __pyx_r = __pyx_v_self->current_except;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->current_except);
  __Pyx_DECREF(__pyx_v_self->current_except);
  __pyx_v_self->current_except = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14current_except_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->current_except);
  __Pyx_DECREF(__pyx_v_self->current_except);
  __pyx_v_self->current_except = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":55
 *     cdef public object exc_vars
 *     cdef public object current_except
 *     cdef public bint can_trace             # <<<<<<<<<<<<<<
 *     cdef public bint gil_owned
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9can_trace_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9can_trace_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9can_trace___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9can_trace___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->can_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.can_trace.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9can_trace_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9can_trace_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9can_trace_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9can_trace_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 55, __pyx_L1_error)
  __pyx_v_self->can_trace = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.can_trace.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":56
 *     cdef public object current_except
 *     cdef public bint can_trace
 *     cdef public bint gil_owned             # <<<<<<<<<<<<<<
 * 
 *     cdef list temps_allocated
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9gil_owned___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9gil_owned___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->gil_owned); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.gil_owned.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 56, __pyx_L1_error)
  __pyx_v_self->gil_owned = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.gil_owned.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":65
 *     cdef list collect_temps_stack
 * 
 *     cdef readonly object closure_temps             # <<<<<<<<<<<<<<
 *     cdef bint should_declare_error_indicator
 *     cdef public bint uses_error_indicator
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13closure_temps___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13closure_temps___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->closure_temps);
  __pyx_r = __pyx_v_self->closure_temps;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":67
 *     cdef readonly object closure_temps
 *     cdef bint should_declare_error_indicator
 *     cdef public bint uses_error_indicator             # <<<<<<<<<<<<<<
 *     cdef public bint error_without_exception
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->uses_error_indicator); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.uses_error_indicator.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 67, __pyx_L1_error)
  __pyx_v_self->uses_error_indicator = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.uses_error_indicator.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":68
 *     cdef bint should_declare_error_indicator
 *     cdef public bint uses_error_indicator
 *     cdef public bint error_without_exception             # <<<<<<<<<<<<<<
 * 
 *     cdef public bint needs_refnanny
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->error_without_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.error_without_exception.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 68, __pyx_L1_error)
  __pyx_v_self->error_without_exception = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.error_without_exception.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":70
 *     cdef public bint error_without_exception
 * 
 *     cdef public bint needs_refnanny             # <<<<<<<<<<<<<<
 * 
 *     cpdef new_label(self, name=*)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->needs_refnanny); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.needs_refnanny.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 70, __pyx_L1_error)
  __pyx_v_self->needs_refnanny = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.needs_refnanny.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1381
 *     """
 * 
 *     def __init__(self, cname, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.value = value
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_8NumConst_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_8NumConst_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_8NumConst_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_8NumConst_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_py_type = 0;
  PyObject *__pyx_v_value_code = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_py_type,&__pyx_mstate_global->__pyx_n_u_value_code,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1381, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1381, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1381, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1381, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1381, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1381, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 1381, __pyx_L3_error)
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(0, 1381, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1381, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1381, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1381, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1381, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1381, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_value = values[2];
    __pyx_v_py_type = values[3];
    __pyx_v_value_code = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(0, 1381, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.NumConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_8NumConst___init__(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_value, __pyx_v_py_type, __pyx_v_value_code);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_8NumConst___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_value, PyObject *__pyx_v_py_type, PyObject *__pyx_v_value_code) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1382
 * 
 *     def __init__(self, cname, value, py_type, value_code=None):
 *         self.cname = cname             # <<<<<<<<<<<<<<
 *         self.value = value
 *         self.py_type = py_type
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_cname, __pyx_v_cname) < (0)) __PYX_ERR(0, 1382, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1383
 *     def __init__(self, cname, value, py_type, value_code=None):
 *         self.cname = cname
 *         self.value = value             # <<<<<<<<<<<<<<
 *         self.py_type = py_type
 *         self.value_code = value_code or value
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_value, __pyx_v_value) < (0)) __PYX_ERR(0, 1383, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1384
 *         self.cname = cname
 *         self.value = value
 *         self.py_type = py_type             # <<<<<<<<<<<<<<
 *         self.value_code = value_code or value
 * 
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_py_type, __pyx_v_py_type) < (0)) __PYX_ERR(0, 1384, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1385
 *         self.value = value
 *         self.py_type = py_type
 *         self.value_code = value_code or value             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_value_code); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1385, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_v_value_code);
    __pyx_t_1 = __pyx_v_value_code;
    goto __pyx_L3_bool_binop_done;
  }
  __Pyx_INCREF(__pyx_v_value);
  __pyx_t_1 = __pyx_v_value;
  __pyx_L3_bool_binop_done:;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_value_code, __pyx_t_1) < (0)) __PYX_ERR(0, 1385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1381
 *     """
 * 
 *     def __init__(self, cname, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.value = value
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.NumConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1394
 *     # type        PyrexType
 * 
 *     def __init__(self, cname, type):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.type = type
*/

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1394, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1394, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1394, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 1394, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(0, 1394, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1394, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1394, __pyx_L3_error)
    }
    __pyx_v_cname = values[0];
    __pyx_v_type = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1394, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.PyObjectConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_v_self), __pyx_v_cname, __pyx_v_type);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1395
 * 
 *     def __init__(self, cname, type):
 *         self.cname = cname             # <<<<<<<<<<<<<<
 *         self.type = type
 * 
*/
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  __Pyx_GOTREF(__pyx_v_self->cname);
  __Pyx_DECREF(__pyx_v_self->cname);
  __pyx_v_self->cname = __pyx_v_cname;

  /* "Cython/Compiler/Code.py":1396
 *     def __init__(self, cname, type):
 *         self.cname = cname
 *         self.type = type             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  __Pyx_GOTREF(__pyx_v_self->type);
  __Pyx_DECREF(__pyx_v_self->type);
  __pyx_v_self->type = __pyx_v_type;

  /* "Cython/Compiler/Code.py":1394
 *     # type        PyrexType
 * 
 *     def __init__(self, cname, type):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.type = type
*/

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":85
 * @cython.final
 * cdef class PyObjectConst:
 *     cdef readonly object cname             # <<<<<<<<<<<<<<
 *     cdef readonly object type
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->cname);
  __pyx_r = __pyx_v_self->cname;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":86
 * cdef class PyObjectConst:
 *     cdef readonly object cname
 *     cdef readonly object type             # <<<<<<<<<<<<<<
 * 
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->type);
  __pyx_r = __pyx_v_self->type;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1415
 *     # c_used           boolean  Is the plain C string used (or only the Python object?)
 * 
 *     def __init__(self, cname, text, byte_string):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.text = text
*/

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_byte_string = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_text,&__pyx_mstate_global->__pyx_n_u_byte_string,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1415, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1415, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1415, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1415, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 1415, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, i); __PYX_ERR(0, 1415, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1415, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1415, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1415, __pyx_L3_error)
    }
    __pyx_v_cname = values[0];
    __pyx_v_text = values[1];
    __pyx_v_byte_string = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1415, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.StringConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self), __pyx_v_cname, __pyx_v_text, __pyx_v_byte_string);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst___init__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_text, PyObject *__pyx_v_byte_string) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1416
 * 
 *     def __init__(self, cname, text, byte_string):
 *         self.cname = cname             # <<<<<<<<<<<<<<
 *         self.text = text
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)
*/
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  __Pyx_GOTREF(__pyx_v_self->cname);
  __Pyx_DECREF(__pyx_v_self->cname);
  __pyx_v_self->cname = __pyx_v_cname;

  /* "Cython/Compiler/Code.py":1417
 *     def __init__(self, cname, text, byte_string):
 *         self.cname = cname
 *         self.text = text             # <<<<<<<<<<<<<<
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)
 *         self.py_strings = None
*/
  __Pyx_INCREF(__pyx_v_text);
  __Pyx_GIVEREF(__pyx_v_text);
  __Pyx_GOTREF(__pyx_v_self->text);
  __Pyx_DECREF(__pyx_v_self->text);
  __pyx_v_self->text = __pyx_v_text;

  /* "Cython/Compiler/Code.py":1418
 *         self.cname = cname
 *         self.text = text
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)             # <<<<<<<<<<<<<<
 *         self.py_strings = None
 *         self.c_used = False
*/
  __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_byte_string};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_escape_byte_string, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->escaped_value);
  __Pyx_DECREF(__pyx_v_self->escaped_value);
  __pyx_v_self->escaped_value = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1419
 *         self.text = text
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)
 *         self.py_strings = None             # <<<<<<<<<<<<<<
 *         self.c_used = False
 * 
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->py_strings);
  __Pyx_DECREF(__pyx_v_self->py_strings);
  __pyx_v_self->py_strings = ((PyObject*)Py_None);

  /* "Cython/Compiler/Code.py":1420
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)
 *         self.py_strings = None
 *         self.c_used = False             # <<<<<<<<<<<<<<
 * 
 *     def get_py_string_const(self, encoding, identifier=None):
*/
  __pyx_v_self->c_used = 0;

  /* "Cython/Compiler/Code.py":1415
 *     # c_used           boolean  Is the plain C string used (or only the Python object?)
 * 
 *     def __init__(self, cname, text, byte_string):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.text = text
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.StringConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1422
 *         self.c_used = False
 * 
 *     def get_py_string_const(self, encoding, identifier=None):             # <<<<<<<<<<<<<<
 *         text = self.text
 *         intern: cython.bint
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3get_py_string_const(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11StringConst_get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_encoding, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const *__pyx_optional_args) {
  PyObject *__pyx_v_identifier = ((PyObject *)Py_None);
  PyObject *__pyx_v_text = NULL;
  int __pyx_v_intern;
  int __pyx_v_is_unicode;
  PyObject *__pyx_v_encoding_key = NULL;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_pystring_cname = NULL;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_py_string = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14[5];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_py_string_const", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_identifier = __pyx_optional_args->identifier;
    }
  }
  __Pyx_INCREF(__pyx_v_encoding);

  /* "Cython/Compiler/Code.py":1423
 * 
 *     def get_py_string_const(self, encoding, identifier=None):
 *         text = self.text             # <<<<<<<<<<<<<<
 *         intern: cython.bint
 *         is_unicode: cython.bint
*/
  __pyx_t_1 = __pyx_v_self->text;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_text = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1427
 *         is_unicode: cython.bint
 * 
 *         if identifier or encoding is None:             # <<<<<<<<<<<<<<
 *             # unicode string
 *             encoding = encoding_key = None
*/
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_identifier); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1427, __pyx_L1_error)
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_v_encoding == Py_None);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1429
 *         if identifier or encoding is None:
 *             # unicode string
 *             encoding = encoding_key = None             # <<<<<<<<<<<<<<
 *             is_unicode = True
 *         else:
*/
    __Pyx_INCREF(Py_None);
    __Pyx_DECREF_SET(__pyx_v_encoding, Py_None);
    __Pyx_INCREF(Py_None);
    __pyx_v_encoding_key = ((PyObject*)Py_None);

    /* "Cython/Compiler/Code.py":1430
 *             # unicode string
 *             encoding = encoding_key = None
 *             is_unicode = True             # <<<<<<<<<<<<<<
 *         else:
 *             # bytes
*/
    __pyx_v_is_unicode = 1;

    /* "Cython/Compiler/Code.py":1427
 *         is_unicode: cython.bint
 * 
 *         if identifier or encoding is None:             # <<<<<<<<<<<<<<
 *             # unicode string
 *             encoding = encoding_key = None
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1433
 *         else:
 *             # bytes
 *             is_unicode = False             # <<<<<<<<<<<<<<
 *             encoding = encoding.lower()
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):
*/
  /*else*/ {
    __pyx_v_is_unicode = 0;

    /* "Cython/Compiler/Code.py":1434
 *             # bytes
 *             is_unicode = False
 *             encoding = encoding.lower()             # <<<<<<<<<<<<<<
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):
 *                 encoding = None
*/
    __pyx_t_4 = __pyx_v_encoding;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lower, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1434, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF_SET(__pyx_v_encoding, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1435
 *             is_unicode = False
 *             encoding = encoding.lower()
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):             # <<<<<<<<<<<<<<
 *                 encoding = None
 *                 encoding_key = None
*/
    __Pyx_INCREF(__pyx_v_encoding);
    __pyx_t_1 = __pyx_v_encoding;
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_utf8, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1435, __pyx_L1_error)
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_utf_8, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1435, __pyx_L1_error)
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ascii, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1435, __pyx_L1_error)
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_usascii, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1435, __pyx_L1_error)
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_us_ascii, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1435, __pyx_L1_error)
    __pyx_t_2 = __pyx_t_3;
    __pyx_L7_bool_binop_done:;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = __pyx_t_2;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":1436
 *             encoding = encoding.lower()
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):
 *                 encoding = None             # <<<<<<<<<<<<<<
 *                 encoding_key = None
 *             else:
*/
      __Pyx_INCREF(Py_None);
      __Pyx_DECREF_SET(__pyx_v_encoding, Py_None);

      /* "Cython/Compiler/Code.py":1437
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):
 *                 encoding = None
 *                 encoding_key = None             # <<<<<<<<<<<<<<
 *             else:
 *                 encoding_key = ''.join(find_alphanums(encoding))
*/
      __Pyx_INCREF(Py_None);
      __pyx_v_encoding_key = ((PyObject*)Py_None);

      /* "Cython/Compiler/Code.py":1435
 *             is_unicode = False
 *             encoding = encoding.lower()
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):             # <<<<<<<<<<<<<<
 *                 encoding = None
 *                 encoding_key = None
*/
      goto __pyx_L6;
    }

    /* "Cython/Compiler/Code.py":1439
 *                 encoding_key = None
 *             else:
 *                 encoding_key = ''.join(find_alphanums(encoding))             # <<<<<<<<<<<<<<
 * 
 *         if identifier:
*/
    /*else*/ {
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_find_alphanums);
      __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_find_alphanums; 
      __pyx_t_5 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_5 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_encoding};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_t_6 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__9, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1439, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_encoding_key = ((PyObject*)__pyx_t_6);
      __pyx_t_6 = 0;
    }
    __pyx_L6:;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1441
 *                 encoding_key = ''.join(find_alphanums(encoding))
 * 
 *         if identifier:             # <<<<<<<<<<<<<<
 *             intern = True
 *         elif identifier is None:
*/
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_identifier); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1441, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1442
 * 
 *         if identifier:
 *             intern = True             # <<<<<<<<<<<<<<
 *         elif identifier is None:
 *             if isinstance(text, bytes):
*/
    __pyx_v_intern = 1;

    /* "Cython/Compiler/Code.py":1441
 *                 encoding_key = ''.join(find_alphanums(encoding))
 * 
 *         if identifier:             # <<<<<<<<<<<<<<
 *             intern = True
 *         elif identifier is None:
*/
    goto __pyx_L12;
  }

  /* "Cython/Compiler/Code.py":1443
 *         if identifier:
 *             intern = True
 *         elif identifier is None:             # <<<<<<<<<<<<<<
 *             if isinstance(text, bytes):
 *                 intern = bool(possible_bytes_identifier(text))
*/
  __pyx_t_3 = (__pyx_v_identifier == Py_None);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1444
 *             intern = True
 *         elif identifier is None:
 *             if isinstance(text, bytes):             # <<<<<<<<<<<<<<
 *                 intern = bool(possible_bytes_identifier(text))
 *             else:
*/
    __pyx_t_3 = PyBytes_Check(__pyx_v_text); 
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":1445
 *         elif identifier is None:
 *             if isinstance(text, bytes):
 *                 intern = bool(possible_bytes_identifier(text))             # <<<<<<<<<<<<<<
 *             else:
 *                 intern = bool(possible_unicode_identifier(text))
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier);
      __pyx_t_4 = __pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier; 
      __pyx_t_5 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_1);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_5 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_text};
        __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1445, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1445, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_v_intern = (!(!__pyx_t_3));

      /* "Cython/Compiler/Code.py":1444
 *             intern = True
 *         elif identifier is None:
 *             if isinstance(text, bytes):             # <<<<<<<<<<<<<<
 *                 intern = bool(possible_bytes_identifier(text))
 *             else:
*/
      goto __pyx_L13;
    }

    /* "Cython/Compiler/Code.py":1447
 *                 intern = bool(possible_bytes_identifier(text))
 *             else:
 *                 intern = bool(possible_unicode_identifier(text))             # <<<<<<<<<<<<<<
 *         else:
 *             intern = False
*/
    /*else*/ {
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier);
      __pyx_t_1 = __pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier; 
      __pyx_t_5 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
        __pyx_t_5 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_text};
        __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1447, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1447, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_v_intern = (!(!__pyx_t_3));
    }
    __pyx_L13:;

    /* "Cython/Compiler/Code.py":1443
 *         if identifier:
 *             intern = True
 *         elif identifier is None:             # <<<<<<<<<<<<<<
 *             if isinstance(text, bytes):
 *                 intern = bool(possible_bytes_identifier(text))
*/
    goto __pyx_L12;
  }

  /* "Cython/Compiler/Code.py":1449
 *                 intern = bool(possible_unicode_identifier(text))
 *         else:
 *             intern = False             # <<<<<<<<<<<<<<
 * 
 *         key = (intern, is_unicode, encoding_key)
*/
  /*else*/ {
    __pyx_v_intern = 0;
  }
  __pyx_L12:;

  /* "Cython/Compiler/Code.py":1451
 *             intern = False
 * 
 *         key = (intern, is_unicode, encoding_key)             # <<<<<<<<<<<<<<
 *         if self.py_strings is None:
 *             self.py_strings = {}
*/
  __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_intern); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 1451, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 1451, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_encoding_key);
  __Pyx_GIVEREF(__pyx_v_encoding_key);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_encoding_key) != (0)) __PYX_ERR(0, 1451, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_1 = 0;
  __pyx_v_key = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1452
 * 
 *         key = (intern, is_unicode, encoding_key)
 *         if self.py_strings is None:             # <<<<<<<<<<<<<<
 *             self.py_strings = {}
 *         else:
*/
  __pyx_t_3 = (__pyx_v_self->py_strings == ((PyObject*)Py_None));
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1453
 *         key = (intern, is_unicode, encoding_key)
 *         if self.py_strings is None:
 *             self.py_strings = {}             # <<<<<<<<<<<<<<
 *         else:
 *             try:
*/
    __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF(__pyx_v_self->py_strings);
    __Pyx_DECREF(__pyx_v_self->py_strings);
    __pyx_v_self->py_strings = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1452
 * 
 *         key = (intern, is_unicode, encoding_key)
 *         if self.py_strings is None:             # <<<<<<<<<<<<<<
 *             self.py_strings = {}
 *         else:
*/
    goto __pyx_L14;
  }

  /* "Cython/Compiler/Code.py":1455
 *             self.py_strings = {}
 *         else:
 *             try:             # <<<<<<<<<<<<<<
 *                 return self.py_strings[key]
 *             except KeyError:
*/
  /*else*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      /*try:*/ {

        /* "Cython/Compiler/Code.py":1456
 *         else:
 *             try:
 *                 return self.py_strings[key]             # <<<<<<<<<<<<<<
 *             except KeyError:
 *                 pass
*/
        __Pyx_XDECREF(__pyx_r);
        if (unlikely(__pyx_v_self->py_strings == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(0, 1456, __pyx_L15_error)
        }
        __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_self->py_strings, __pyx_v_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1456, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_r = __pyx_t_4;
        __pyx_t_4 = 0;
        goto __pyx_L19_try_return;

        /* "Cython/Compiler/Code.py":1455
 *             self.py_strings = {}
 *         else:
 *             try:             # <<<<<<<<<<<<<<
 *                 return self.py_strings[key]
 *             except KeyError:
*/
      }
      __pyx_L15_error:;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1457
 *             try:
 *                 return self.py_strings[key]
 *             except KeyError:             # <<<<<<<<<<<<<<
 *                 pass
 * 
*/
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
      if (__pyx_t_10) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L16_exception_handled;
      }
      goto __pyx_L17_except_error;

      /* "Cython/Compiler/Code.py":1455
 *             self.py_strings = {}
 *         else:
 *             try:             # <<<<<<<<<<<<<<
 *                 return self.py_strings[key]
 *             except KeyError:
*/
      __pyx_L17_except_error:;
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      goto __pyx_L1_error;
      __pyx_L19_try_return:;
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      goto __pyx_L0;
      __pyx_L16_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    }
  }
  __pyx_L14:;

  /* "Cython/Compiler/Code.py":1461
 * 
 *         pystring_cname = (
 *             f"{Naming.interned_prefixes['str'] if intern else Naming.py_const_prefix}"             # <<<<<<<<<<<<<<
 *             f"{'u' if is_unicode else 'b'}"
 *             f"{'_' + encoding_key if encoding_key else ''}"
*/
  if (__pyx_v_intern) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_interned_prefixes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1461, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_str); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1461, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;
  } else {
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_py_const_prefix); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1461, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;
  }
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1462
 *         pystring_cname = (
 *             f"{Naming.interned_prefixes['str'] if intern else Naming.py_const_prefix}"
 *             f"{'u' if is_unicode else 'b'}"             # <<<<<<<<<<<<<<
 *             f"{'_' + encoding_key if encoding_key else ''}"
 *             f"_{self.cname[len(Naming.const_prefix):]}"
*/
  if (__pyx_v_is_unicode) {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_u);
    __pyx_t_4 = __pyx_mstate_global->__pyx_n_u_u;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_b);
    __pyx_t_4 = __pyx_mstate_global->__pyx_n_u_b;
  }
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1463
 *             f"{Naming.interned_prefixes['str'] if intern else Naming.py_const_prefix}"
 *             f"{'u' if is_unicode else 'b'}"
 *             f"{'_' + encoding_key if encoding_key else ''}"             # <<<<<<<<<<<<<<
 *             f"_{self.cname[len(Naming.const_prefix):]}"
 *         )
*/
  if (__pyx_v_encoding_key == Py_None) __pyx_t_3 = 0;
  else
  {
    Py_ssize_t __pyx_temp = __Pyx_PyUnicode_IS_TRUE(__pyx_v_encoding_key);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 1463, __pyx_L1_error)
    __pyx_t_3 = (__pyx_temp != 0);
  }

  if (__pyx_t_3) {
    __pyx_t_11 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_n_u__26, __pyx_v_encoding_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = __pyx_t_11;
    __pyx_t_11 = 0;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
    __pyx_t_4 = __pyx_mstate_global->__pyx_kp_u__9;
  }
  __pyx_t_11 = __Pyx_PyUnicode_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1464
 *             f"{'u' if is_unicode else 'b'}"
 *             f"{'_' + encoding_key if encoding_key else ''}"
 *             f"_{self.cname[len(Naming.const_prefix):]}"             # <<<<<<<<<<<<<<
 *         )
 * 
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_const_prefix); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_12 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_self->cname, __pyx_t_12, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_14[0] = __pyx_t_6;
  __pyx_t_14[1] = __pyx_t_1;
  __pyx_t_14[2] = __pyx_t_11;
  __pyx_t_14[3] = __pyx_mstate_global->__pyx_n_u__26;
  __pyx_t_14[4] = __pyx_t_13;

  /* "Cython/Compiler/Code.py":1461
 * 
 *         pystring_cname = (
 *             f"{Naming.interned_prefixes['str'] if intern else Naming.py_const_prefix}"             # <<<<<<<<<<<<<<
 *             f"{'u' if is_unicode else 'b'}"
 *             f"{'_' + encoding_key if encoding_key else ''}"
*/
  __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_14, 5, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13));
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_v_pystring_cname = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1467
 *         )
 * 
 *         py_string = PyStringConst(pystring_cname, encoding, intern, is_unicode)             # <<<<<<<<<<<<<<
 *         self.py_strings[key] = py_string
 *         return py_string
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_PyBool_FromLong(__pyx_v_intern); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_13, __pyx_v_pystring_cname, __pyx_v_encoding, __pyx_t_11, __pyx_t_1};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst, __pyx_callargs+__pyx_t_5, (5-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1467, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __pyx_v_py_string = ((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1468
 * 
 *         py_string = PyStringConst(pystring_cname, encoding, intern, is_unicode)
 *         self.py_strings[key] = py_string             # <<<<<<<<<<<<<<
 *         return py_string
 * 
*/
  if (unlikely(__pyx_v_self->py_strings == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 1468, __pyx_L1_error)
  }
  if (unlikely((PyDict_SetItem(__pyx_v_self->py_strings, __pyx_v_key, ((PyObject *)__pyx_v_py_string)) < 0))) __PYX_ERR(0, 1468, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1469
 *         py_string = PyStringConst(pystring_cname, encoding, intern, is_unicode)
 *         self.py_strings[key] = py_string
 *         return py_string             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_py_string);
  __pyx_r = ((PyObject *)__pyx_v_py_string);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1422
 *         self.c_used = False
 * 
 *     def get_py_string_const(self, encoding, identifier=None):             # <<<<<<<<<<<<<<
 *         text = self.text
 *         intern: cython.bint
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("Cython.Compiler.Code.StringConst.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_text);
  __Pyx_XDECREF(__pyx_v_encoding_key);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_pystring_cname);
  __Pyx_XDECREF((PyObject *)__pyx_v_py_string);
  __Pyx_XDECREF(__pyx_v_encoding);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3get_py_string_const(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11StringConst_3get_py_string_const = {"get_py_string_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3get_py_string_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3get_py_string_const(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_encoding = 0;
  PyObject *__pyx_v_identifier = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_string_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_encoding,&__pyx_mstate_global->__pyx_n_u_identifier,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1422, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1422, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1422, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_string_const", 0) < (0)) __PYX_ERR(0, 1422, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 1, 2, i); __PYX_ERR(0, 1422, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1422, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1422, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_encoding = values[0];
    __pyx_v_identifier = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 1422, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.StringConst.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_2get_py_string_const(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self), __pyx_v_encoding, __pyx_v_identifier);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_2get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_identifier) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_py_string_const", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.identifier = __pyx_v_identifier;
  __pyx_t_1 = __pyx_vtabptr_6Cython_8Compiler_4Code_StringConst->get_py_string_const(__pyx_v_self, __pyx_v_encoding, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.StringConst.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":91
 * @cython.final
 * cdef class StringConst:
 *     cdef readonly object cname             # <<<<<<<<<<<<<<
 *     cdef readonly object text
 *     cdef readonly object escaped_value
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->cname);
  __pyx_r = __pyx_v_self->cname;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":92
 * cdef class StringConst:
 *     cdef readonly object cname
 *     cdef readonly object text             # <<<<<<<<<<<<<<
 *     cdef readonly object escaped_value
 *     cdef readonly dict py_strings
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->text);
  __pyx_r = __pyx_v_self->text;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":93
 *     cdef readonly object cname
 *     cdef readonly object text
 *     cdef readonly object escaped_value             # <<<<<<<<<<<<<<
 *     cdef readonly dict py_strings
 *     cdef public bint c_used
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->escaped_value);
  __pyx_r = __pyx_v_self->escaped_value;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":94
 *     cdef readonly object text
 *     cdef readonly object escaped_value
 *     cdef readonly dict py_strings             # <<<<<<<<<<<<<<
 *     cdef public bint c_used
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->py_strings);
  __pyx_r = __pyx_v_self->py_strings;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":95
 *     cdef readonly object escaped_value
 *     cdef readonly dict py_strings
 *     cdef public bint c_used             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_py_string_const(self, encoding, identifier=*)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_6c_used_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_6c_used_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_6c_used___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_6c_used___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->c_used); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.StringConst.c_used.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_6c_used_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_6c_used_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_6c_used_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_6c_used_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 95, __pyx_L1_error)
  __pyx_v_self->c_used = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.StringConst.c_used.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1480
 *     # is_unicode  boolean
 * 
 *     def __init__(self, cname, encoding, intern=False, is_unicode=False):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.encoding = encoding
*/

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_encoding = 0;
  PyObject *__pyx_v_intern = 0;
  PyObject *__pyx_v_is_unicode = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_encoding,&__pyx_mstate_global->__pyx_n_u_intern,&__pyx_mstate_global->__pyx_n_u_is_unicode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1480, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 1480, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, i); __PYX_ERR(0, 1480, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1480, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1480, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cname = values[0];
    __pyx_v_encoding = values[1];
    __pyx_v_intern = values[2];
    __pyx_v_is_unicode = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 1480, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)__pyx_v_self), __pyx_v_cname, __pyx_v_encoding, __pyx_v_intern, __pyx_v_is_unicode);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_encoding, PyObject *__pyx_v_intern, PyObject *__pyx_v_is_unicode) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1481
 * 
 *     def __init__(self, cname, encoding, intern=False, is_unicode=False):
 *         self.cname = cname             # <<<<<<<<<<<<<<
 *         self.encoding = encoding
 *         self.is_unicode = is_unicode
*/
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  __Pyx_GOTREF(__pyx_v_self->cname);
  __Pyx_DECREF(__pyx_v_self->cname);
  __pyx_v_self->cname = __pyx_v_cname;

  /* "Cython/Compiler/Code.py":1482
 *     def __init__(self, cname, encoding, intern=False, is_unicode=False):
 *         self.cname = cname
 *         self.encoding = encoding             # <<<<<<<<<<<<<<
 *         self.is_unicode = is_unicode
 *         self.intern = intern
*/
  __Pyx_INCREF(__pyx_v_encoding);
  __Pyx_GIVEREF(__pyx_v_encoding);
  __Pyx_GOTREF(__pyx_v_self->encoding);
  __Pyx_DECREF(__pyx_v_self->encoding);
  __pyx_v_self->encoding = __pyx_v_encoding;

  /* "Cython/Compiler/Code.py":1483
 *         self.cname = cname
 *         self.encoding = encoding
 *         self.is_unicode = is_unicode             # <<<<<<<<<<<<<<
 *         self.intern = intern
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_is_unicode); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1483, __pyx_L1_error)
  __pyx_v_self->is_unicode = __pyx_t_1;

  /* "Cython/Compiler/Code.py":1484
 *         self.encoding = encoding
 *         self.is_unicode = is_unicode
 *         self.intern = intern             # <<<<<<<<<<<<<<
 * 
 *     def __lt__(self, other):
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_intern); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L1_error)
  __pyx_v_self->intern = __pyx_t_1;

  /* "Cython/Compiler/Code.py":1480
 *     # is_unicode  boolean
 * 
 *     def __init__(self, cname, encoding, intern=False, is_unicode=False):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.encoding = encoding
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1486
 *         self.intern = intern
 * 
 *     def __lt__(self, other):             # <<<<<<<<<<<<<<
 *         return self.cname < other.cname
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_3__lt__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_3__lt__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__lt__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_2__lt__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_2__lt__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__lt__", 0);

  /* "Cython/Compiler/Code.py":1487
 * 
 *     def __lt__(self, other):
 *         return self.cname < other.cname             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_self->cname, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1486
 *         self.intern = intern
 * 
 *     def __lt__(self, other):             # <<<<<<<<<<<<<<
 *         return self.cname < other.cname
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.__lt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":102
 * @cython.final
 * cdef class PyStringConst:
 *     cdef readonly object cname             # <<<<<<<<<<<<<<
 *     cdef readonly object encoding
 *     cdef readonly bint is_unicode
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_5cname_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_5cname_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_5cname___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_5cname___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->cname);
  __pyx_r = __pyx_v_self->cname;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":103
 * cdef class PyStringConst:
 *     cdef readonly object cname
 *     cdef readonly object encoding             # <<<<<<<<<<<<<<
 *     cdef readonly bint is_unicode
 *     cdef readonly bint intern
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_8encoding_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_8encoding_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_8encoding___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_8encoding___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->encoding);
  __pyx_r = __pyx_v_self->encoding;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":104
 *     cdef readonly object cname
 *     cdef readonly object encoding
 *     cdef readonly bint is_unicode             # <<<<<<<<<<<<<<
 *     cdef readonly bint intern
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_10is_unicode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_10is_unicode_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_10is_unicode___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_10is_unicode___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.is_unicode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":105
 *     cdef readonly object encoding
 *     cdef readonly bint is_unicode
 *     cdef readonly bint intern             # <<<<<<<<<<<<<<
 * 
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_6intern_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_6intern_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_6intern___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_6intern___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->intern); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.intern.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1574
 *     ]
 * 
 *     def __init__(self, writer, module_node, code_config, common_utility_include_dir=None):             # <<<<<<<<<<<<<<
 *         self.filename_table = {}
 *         self.filename_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_writer = 0;
  PyObject *__pyx_v_module_node = 0;
  PyObject *__pyx_v_code_config = 0;
  PyObject *__pyx_v_common_utility_include_dir = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_writer,&__pyx_mstate_global->__pyx_n_u_module_node,&__pyx_mstate_global->__pyx_n_u_code_config,&__pyx_mstate_global->__pyx_n_u_common_utility_include_dir,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1574, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 1574, __pyx_L3_error)
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, i); __PYX_ERR(0, 1574, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1574, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1574, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1574, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1574, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_writer = values[1];
    __pyx_v_module_node = values[2];
    __pyx_v_code_config = values[3];
    __pyx_v_common_utility_include_dir = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, __pyx_nargs); __PYX_ERR(0, 1574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState___init__(__pyx_self, __pyx_v_self, __pyx_v_writer, __pyx_v_module_node, __pyx_v_code_config, __pyx_v_common_utility_include_dir);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_writer, PyObject *__pyx_v_module_node, PyObject *__pyx_v_code_config, PyObject *__pyx_v_common_utility_include_dir) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1575
 * 
 *     def __init__(self, writer, module_node, code_config, common_utility_include_dir=None):
 *         self.filename_table = {}             # <<<<<<<<<<<<<<
 *         self.filename_list = []
 *         self.input_file_contents = {}
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_filename_table, __pyx_t_1) < (0)) __PYX_ERR(0, 1575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1576
 *     def __init__(self, writer, module_node, code_config, common_utility_include_dir=None):
 *         self.filename_table = {}
 *         self.filename_list = []             # <<<<<<<<<<<<<<
 *         self.input_file_contents = {}
 *         self.utility_codes = set()
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_filename_list, __pyx_t_1) < (0)) __PYX_ERR(0, 1576, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1577
 *         self.filename_table = {}
 *         self.filename_list = []
 *         self.input_file_contents = {}             # <<<<<<<<<<<<<<
 *         self.utility_codes = set()
 *         self.declared_cnames = {}
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_input_file_contents, __pyx_t_1) < (0)) __PYX_ERR(0, 1577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1578
 *         self.filename_list = []
 *         self.input_file_contents = {}
 *         self.utility_codes = set()             # <<<<<<<<<<<<<<
 *         self.declared_cnames = {}
 *         self.in_utility_code_generation = False
*/
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_utility_codes, __pyx_t_1) < (0)) __PYX_ERR(0, 1578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1579
 *         self.input_file_contents = {}
 *         self.utility_codes = set()
 *         self.declared_cnames = {}             # <<<<<<<<<<<<<<
 *         self.in_utility_code_generation = False
 *         self.code_config = code_config
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_declared_cnames, __pyx_t_1) < (0)) __PYX_ERR(0, 1579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1580
 *         self.utility_codes = set()
 *         self.declared_cnames = {}
 *         self.in_utility_code_generation = False             # <<<<<<<<<<<<<<
 *         self.code_config = code_config
 *         self.common_utility_include_dir = common_utility_include_dir
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_in_utility_code_generation, Py_False) < (0)) __PYX_ERR(0, 1580, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1581
 *         self.declared_cnames = {}
 *         self.in_utility_code_generation = False
 *         self.code_config = code_config             # <<<<<<<<<<<<<<
 *         self.common_utility_include_dir = common_utility_include_dir
 *         self.parts = {}
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_code_config, __pyx_v_code_config) < (0)) __PYX_ERR(0, 1581, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1582
 *         self.in_utility_code_generation = False
 *         self.code_config = code_config
 *         self.common_utility_include_dir = common_utility_include_dir             # <<<<<<<<<<<<<<
 *         self.parts = {}
 *         self.module_node = module_node  # because some utility code generation needs it
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_common_utility_include_dir, __pyx_v_common_utility_include_dir) < (0)) __PYX_ERR(0, 1582, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1583
 *         self.code_config = code_config
 *         self.common_utility_include_dir = common_utility_include_dir
 *         self.parts = {}             # <<<<<<<<<<<<<<
 *         self.module_node = module_node  # because some utility code generation needs it
 *                                         # (generating backwards-compatible Get/ReleaseBuffer
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts, __pyx_t_1) < (0)) __PYX_ERR(0, 1583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1584
 *         self.common_utility_include_dir = common_utility_include_dir
 *         self.parts = {}
 *         self.module_node = module_node  # because some utility code generation needs it             # <<<<<<<<<<<<<<
 *                                         # (generating backwards-compatible Get/ReleaseBuffer
 * 
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_node, __pyx_v_module_node) < (0)) __PYX_ERR(0, 1584, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1587
 *                                         # (generating backwards-compatible Get/ReleaseBuffer
 * 
 *         self.const_cnames_used = {}             # <<<<<<<<<<<<<<
 *         self.string_const_index = {}
 *         self.dedup_const_index = {}
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_cnames_used, __pyx_t_1) < (0)) __PYX_ERR(0, 1587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1588
 * 
 *         self.const_cnames_used = {}
 *         self.string_const_index = {}             # <<<<<<<<<<<<<<
 *         self.dedup_const_index = {}
 *         self.pyunicode_ptr_const_index = {}
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_string_const_index, __pyx_t_1) < (0)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1589
 *         self.const_cnames_used = {}
 *         self.string_const_index = {}
 *         self.dedup_const_index = {}             # <<<<<<<<<<<<<<
 *         self.pyunicode_ptr_const_index = {}
 *         self.codeobject_constants = []
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_dedup_const_index, __pyx_t_1) < (0)) __PYX_ERR(0, 1589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1590
 *         self.string_const_index = {}
 *         self.dedup_const_index = {}
 *         self.pyunicode_ptr_const_index = {}             # <<<<<<<<<<<<<<
 *         self.codeobject_constants = []
 *         self.num_const_index = {}
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pyunicode_ptr_const_index, __pyx_t_1) < (0)) __PYX_ERR(0, 1590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1591
 *         self.dedup_const_index = {}
 *         self.pyunicode_ptr_const_index = {}
 *         self.codeobject_constants = []             # <<<<<<<<<<<<<<
 *         self.num_const_index = {}
 *         self.arg_default_constants = []
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_codeobject_constants, __pyx_t_1) < (0)) __PYX_ERR(0, 1591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1592
 *         self.pyunicode_ptr_const_index = {}
 *         self.codeobject_constants = []
 *         self.num_const_index = {}             # <<<<<<<<<<<<<<
 *         self.arg_default_constants = []
 *         self.const_array_counters = {}  # counts of differently prefixed arrays of constants
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_num_const_index, __pyx_t_1) < (0)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1593
 *         self.codeobject_constants = []
 *         self.num_const_index = {}
 *         self.arg_default_constants = []             # <<<<<<<<<<<<<<
 *         self.const_array_counters = {}  # counts of differently prefixed arrays of constants
 *         self.cached_cmethods = {}
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_arg_default_constants, __pyx_t_1) < (0)) __PYX_ERR(0, 1593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1594
 *         self.num_const_index = {}
 *         self.arg_default_constants = []
 *         self.const_array_counters = {}  # counts of differently prefixed arrays of constants             # <<<<<<<<<<<<<<
 *         self.cached_cmethods = {}
 *         self.initialised_constants = set()
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_array_counters, __pyx_t_1) < (0)) __PYX_ERR(0, 1594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1595
 *         self.arg_default_constants = []
 *         self.const_array_counters = {}  # counts of differently prefixed arrays of constants
 *         self.cached_cmethods = {}             # <<<<<<<<<<<<<<
 *         self.initialised_constants = set()
 *         self.shared_utility_functions = []
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_cached_cmethods, __pyx_t_1) < (0)) __PYX_ERR(0, 1595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1596
 *         self.const_array_counters = {}  # counts of differently prefixed arrays of constants
 *         self.cached_cmethods = {}
 *         self.initialised_constants = set()             # <<<<<<<<<<<<<<
 *         self.shared_utility_functions = []
 * 
*/
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_initialised_constants, __pyx_t_1) < (0)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1597
 *         self.cached_cmethods = {}
 *         self.initialised_constants = set()
 *         self.shared_utility_functions = []             # <<<<<<<<<<<<<<
 * 
 *         writer.set_global_state(self)
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shared_utility_functions, __pyx_t_1) < (0)) __PYX_ERR(0, 1597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1599
 *         self.shared_utility_functions = []
 * 
 *         writer.set_global_state(self)             # <<<<<<<<<<<<<<
 *         self.rootwriter = writer
 * 
*/
  __pyx_t_2 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_set_global_state, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1600
 * 
 *         writer.set_global_state(self)
 *         self.rootwriter = writer             # <<<<<<<<<<<<<<
 * 
 *     def initialize_main_c_code(self):
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_rootwriter, __pyx_v_writer) < (0)) __PYX_ERR(0, 1600, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1574
 *     ]
 * 
 *     def __init__(self, writer, module_node, code_config, common_utility_include_dir=None):             # <<<<<<<<<<<<<<
 *         self.filename_table = {}
 *         self.filename_list = []
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1602
 *         self.rootwriter = writer
 * 
 *     def initialize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for i, part in enumerate(self.code_layout):
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_3initialize_main_c_code(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_3initialize_main_c_code = {"initialize_main_c_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_3initialize_main_c_code, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_3initialize_main_c_code(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("initialize_main_c_code (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_2initialize_main_c_code(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_2initialize_main_c_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_rootwriter = NULL;
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_part = NULL;
  PyObject *__pyx_v_w = NULL;
  PyObject *__pyx_v_code = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10[5];
  PyObject *__pyx_t_11[3];
  int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("initialize_main_c_code", 0);

  /* "Cython/Compiler/Code.py":1603
 * 
 *     def initialize_main_c_code(self):
 *         rootwriter = self.rootwriter             # <<<<<<<<<<<<<<
 *         for i, part in enumerate(self.code_layout):
 *             w = self.parts[part] = rootwriter.insertion_point()
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_rootwriter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_rootwriter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1604
 *     def initialize_main_c_code(self):
 *         rootwriter = self.rootwriter
 *         for i, part in enumerate(self.code_layout):             # <<<<<<<<<<<<<<
 *             w = self.parts[part] = rootwriter.insertion_point()
 *             if i > 0:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_t_1 = __pyx_mstate_global->__pyx_int_0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_code_layout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1604, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1604, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_4;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1604, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4);
        #endif
        ++__pyx_t_4;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1604, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 1604, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_part, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1);
    __pyx_t_2 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1);
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1605
 *         rootwriter = self.rootwriter
 *         for i, part in enumerate(self.code_layout):
 *             w = self.parts[part] = rootwriter.insertion_point()             # <<<<<<<<<<<<<<
 *             if i > 0:
 *                 w.putln("/[inserted by cython to avoid comment start]* #### Code section: %s ### *[inserted by cython to avoid comment closer]/" % part)
*/
    __pyx_t_6 = __pyx_v_rootwriter;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_insertion_point, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1605, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1605, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely((PyObject_SetItem(__pyx_t_6, __pyx_v_part, __pyx_t_2) < 0))) __PYX_ERR(0, 1605, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1606
 *         for i, part in enumerate(self.code_layout):
 *             w = self.parts[part] = rootwriter.insertion_point()
 *             if i > 0:             # <<<<<<<<<<<<<<
 *                 w.putln("/[inserted by cython to avoid comment start]* #### Code section: %s ### *[inserted by cython to avoid comment closer]/" % part)
 * 
*/
    __pyx_t_2 = PyObject_RichCompare(__pyx_v_i, __pyx_mstate_global->__pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1606, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 1606, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_8) {

      /* "Cython/Compiler/Code.py":1607
 *             w = self.parts[part] = rootwriter.insertion_point()
 *             if i > 0:
 *                 w.putln("/[inserted by cython to avoid comment start]* #### Code section: %s ### *[inserted by cython to avoid comment closer]/" % part)             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['cached_builtins']
*/
      __pyx_t_6 = __pyx_v_w;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_9 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Code_section_s, __pyx_v_part); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_9};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1607, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1606
 *         for i, part in enumerate(self.code_layout):
 *             w = self.parts[part] = rootwriter.insertion_point()
 *             if i > 0:             # <<<<<<<<<<<<<<
 *                 w.putln("/[inserted by cython to avoid comment start]* #### Code section: %s ### *[inserted by cython to avoid comment closer]/" % part)
 * 
*/
    }

    /* "Cython/Compiler/Code.py":1604
 *     def initialize_main_c_code(self):
 *         rootwriter = self.rootwriter
 *         for i, part in enumerate(self.code_layout):             # <<<<<<<<<<<<<<
 *             w = self.parts[part] = rootwriter.insertion_point()
 *             if i > 0:
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1609
 *                 w.putln("/[inserted by cython to avoid comment start]* #### Code section: %s ### *[inserted by cython to avoid comment closer]/" % part)
 * 
 *         w = self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 *         w.start_initcfunc(
 *             "int __Pyx_InitCachedBuiltins("
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cached_builtins); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1610
 * 
 *         w = self.parts['cached_builtins']
 *         w.start_initcfunc(             # <<<<<<<<<<<<<<
 *             "int __Pyx_InitCachedBuiltins("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":1612
 *         w.start_initcfunc(
 *             "int __Pyx_InitCachedBuiltins("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")             # <<<<<<<<<<<<<<
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatetype_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u_int___Pyx_InitCachedBuiltins;
  __pyx_t_10[1] = __pyx_t_9;
  __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u__41;
  __pyx_t_10[3] = __pyx_t_6;
  __pyx_t_10[4] = __pyx_mstate_global->__pyx_kp_u__7;

  /* "Cython/Compiler/Code.py":1611
 *         w = self.parts['cached_builtins']
 *         w.start_initcfunc(
 *             "int __Pyx_InitCachedBuiltins("             # <<<<<<<<<<<<<<
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
*/
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_10, 5, 29 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1613
 *             "int __Pyx_InitCachedBuiltins("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['cached_constants']
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED_VAR;
  __pyx_t_11[1] = __pyx_t_6;
  __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u__42;
  __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1615
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 * 
 *         w = self.parts['cached_constants']             # <<<<<<<<<<<<<<
 *         w.start_initcfunc(
 *             "int __Pyx_InitCachedConstants("
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cached_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1616
 * 
 *         w = self.parts['cached_constants']
 *         w.start_initcfunc(             # <<<<<<<<<<<<<<
 *             "int __Pyx_InitCachedConstants("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})",
*/
  __pyx_t_3 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_3);

  /* "Cython/Compiler/Code.py":1618
 *         w.start_initcfunc(
 *             "int __Pyx_InitCachedConstants("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})",             # <<<<<<<<<<<<<<
 *             refnanny=True)
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatetype_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u_int___Pyx_InitCachedConstants;
  __pyx_t_10[1] = __pyx_t_6;
  __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u__41;
  __pyx_t_10[3] = __pyx_t_9;
  __pyx_t_10[4] = __pyx_mstate_global->__pyx_kp_u__7;

  /* "Cython/Compiler/Code.py":1617
 *         w = self.parts['cached_constants']
 *         w.start_initcfunc(
 *             "int __Pyx_InitCachedConstants("             # <<<<<<<<<<<<<<
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})",
 *             refnanny=True)
*/
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_10, 5, 30 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1619
 *             "int __Pyx_InitCachedConstants("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})",
 *             refnanny=True)             # <<<<<<<<<<<<<<
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 *         w.put_setup_refcount_context(StringEncoding.EncodedString("__Pyx_InitCachedConstants"))
*/
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_refnanny, Py_True, __pyx_t_9, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 1616, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1620
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})",
 *             refnanny=True)
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")             # <<<<<<<<<<<<<<
 *         w.put_setup_refcount_context(StringEncoding.EncodedString("__Pyx_InitCachedConstants"))
 * 
*/
  __pyx_t_9 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED_VAR;
  __pyx_t_11[1] = __pyx_t_3;
  __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u__42;
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1621
 *             refnanny=True)
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 *         w.put_setup_refcount_context(StringEncoding.EncodedString("__Pyx_InitCachedConstants"))             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['init_globals']
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Pyx_InitCachedConstants};
    __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_EncodedString, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
  }
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_setup_refcount_context, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1623
 *         w.put_setup_refcount_context(StringEncoding.EncodedString("__Pyx_InitCachedConstants"))
 * 
 *         w = self.parts['init_globals']             # <<<<<<<<<<<<<<
 *         w.start_initcfunc("int __Pyx_InitGlobals(void)")
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_init_globals); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_9);
  __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1624
 * 
 *         w = self.parts['init_globals']
 *         w.start_initcfunc("int __Pyx_InitGlobals(void)")             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['init_constants']
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_int___Pyx_InitGlobals_void};
    __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
  }
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1626
 *         w.start_initcfunc("int __Pyx_InitGlobals(void)")
 * 
 *         w = self.parts['init_constants']             # <<<<<<<<<<<<<<
 *         w.start_initcfunc(
 *             "int __Pyx_InitConstants("
*/
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_init_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1627
 * 
 *         w = self.parts['init_constants']
 *         w.start_initcfunc(             # <<<<<<<<<<<<<<
 *             "int __Pyx_InitConstants("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
*/
  __pyx_t_9 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_9);

  /* "Cython/Compiler/Code.py":1629
 *         w.start_initcfunc(
 *             "int __Pyx_InitConstants("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")             # <<<<<<<<<<<<<<
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatetype_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u_int___Pyx_InitConstants;
  __pyx_t_10[1] = __pyx_t_3;
  __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u__41;
  __pyx_t_10[3] = __pyx_t_6;
  __pyx_t_10[4] = __pyx_mstate_global->__pyx_kp_u__7;

  /* "Cython/Compiler/Code.py":1628
 *         w = self.parts['init_constants']
 *         w.start_initcfunc(
 *             "int __Pyx_InitConstants("             # <<<<<<<<<<<<<<
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
*/
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_10, 5, 24 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1630
 *             "int __Pyx_InitConstants("
 *             f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")             # <<<<<<<<<<<<<<
 * 
 *         if not Options.generate_cleanup_code:
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED_VAR;
  __pyx_t_11[1] = __pyx_t_6;
  __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u__42;
  __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
  if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1632
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 * 
 *         if not Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             del self.parts['cleanup_globals']
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_generate_cleanup_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_12 = (!__pyx_t_8);
  if (__pyx_t_12) {

    /* "Cython/Compiler/Code.py":1633
 * 
 *         if not Options.generate_cleanup_code:
 *             del self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *         else:
 *             w = self.parts['cleanup_globals']
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((PyObject_DelItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cleanup_globals) < 0))) __PYX_ERR(0, 1633, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1632
 *         w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 * 
 *         if not Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             del self.parts['cleanup_globals']
 *         else:
*/
    goto __pyx_L7;
  }

  /* "Cython/Compiler/Code.py":1635
 *             del self.parts['cleanup_globals']
 *         else:
 *             w = self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *             w.start_initcfunc(
 *                 "void __Pyx_CleanupGlobals("
*/
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cleanup_globals); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_9);
    __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":1636
 *         else:
 *             w = self.parts['cleanup_globals']
 *             w.start_initcfunc(             # <<<<<<<<<<<<<<
 *                 "void __Pyx_CleanupGlobals("
 *                 f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1638
 *             w.start_initcfunc(
 *                 "void __Pyx_CleanupGlobals("
 *                 f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")             # <<<<<<<<<<<<<<
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 * 
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatetype_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u_void___Pyx_CleanupGlobals;
    __pyx_t_10[1] = __pyx_t_6;
    __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u__41;
    __pyx_t_10[3] = __pyx_t_3;
    __pyx_t_10[4] = __pyx_mstate_global->__pyx_kp_u__7;

    /* "Cython/Compiler/Code.py":1637
 *             w = self.parts['cleanup_globals']
 *             w.start_initcfunc(
 *                 "void __Pyx_CleanupGlobals("             # <<<<<<<<<<<<<<
 *                 f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
*/
    __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_10, 5, 26 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1636, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":1639
 *                 "void __Pyx_CleanupGlobals("
 *                 f"{Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})")
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")             # <<<<<<<<<<<<<<
 * 
 *         code = self.parts['utility_code_proto']
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED_VAR;
    __pyx_t_11[1] = __pyx_t_3;
    __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_1};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  }
  __pyx_L7:;

  /* "Cython/Compiler/Code.py":1641
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 * 
 *         code = self.parts['utility_code_proto']             # <<<<<<<<<<<<<<
 *         code.putln("")
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code (head) --- *[inserted by cython to avoid comment closer]/")
*/
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_utility_code_proto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_v_code = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1642
 * 
 *         code = self.parts['utility_code_proto']
 *         code.putln("")             # <<<<<<<<<<<<<<
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code (head) --- *[inserted by cython to avoid comment closer]/")
 * 
*/
  __pyx_t_9 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1643
 *         code = self.parts['utility_code_proto']
 *         code.putln("")
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code (head) --- *[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 * 
 *         code = self.parts['utility_code_def']
*/
  __pyx_t_9 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_Runtime_support_code_head};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1645
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code (head) --- *[inserted by cython to avoid comment closer]/")
 * 
 *         code = self.parts['utility_code_def']             # <<<<<<<<<<<<<<
 *         if self.code_config.emit_linenums:
 *             code.write('\n#line 1 "cython_utility"\n')
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_utility_code_def); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_9);
  __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1646
 * 
 *         code = self.parts['utility_code_def']
 *         if self.code_config.emit_linenums:             # <<<<<<<<<<<<<<
 *             code.write('\n#line 1 "cython_utility"\n')
 *         code.putln("")
*/
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_code_config); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_emit_linenums); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 1646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_12) {

    /* "Cython/Compiler/Code.py":1647
 *         code = self.parts['utility_code_def']
 *         if self.code_config.emit_linenums:
 *             code.write('\n#line 1 "cython_utility"\n')             # <<<<<<<<<<<<<<
 *         code.putln("")
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
*/
    __pyx_t_9 = __pyx_v_code;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_line_1_cython_utility};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_write, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1646
 * 
 *         code = self.parts['utility_code_def']
 *         if self.code_config.emit_linenums:             # <<<<<<<<<<<<<<
 *             code.write('\n#line 1 "cython_utility"\n')
 *         code.putln("")
*/
  }

  /* "Cython/Compiler/Code.py":1648
 *         if self.code_config.emit_linenums:
 *             code.write('\n#line 1 "cython_utility"\n')
 *         code.putln("")             # <<<<<<<<<<<<<<
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
*/
  __pyx_t_9 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1649
 *             code.write('\n#line 1 "cython_utility"\n')
 *         code.putln("")
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 * 
 *     def initialize_main_h_code(self):
*/
  __pyx_t_9 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_Runtime_support_code};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1602
 *         self.rootwriter = writer
 * 
 *     def initialize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for i, part in enumerate(self.code_layout):
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.initialize_main_c_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_rootwriter);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_part);
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_code);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1651
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
 *     def initialize_main_h_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for part in self.h_code_layout:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_5initialize_main_h_code(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_5initialize_main_h_code = {"initialize_main_h_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_5initialize_main_h_code, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_5initialize_main_h_code(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("initialize_main_h_code (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_4initialize_main_h_code(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_4initialize_main_h_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_rootwriter = NULL;
  PyObject *__pyx_v_part = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("initialize_main_h_code", 0);

  /* "Cython/Compiler/Code.py":1652
 * 
 *     def initialize_main_h_code(self):
 *         rootwriter = self.rootwriter             # <<<<<<<<<<<<<<
 *         for part in self.h_code_layout:
 *             self.parts[part] = rootwriter.insertion_point()
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_rootwriter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_rootwriter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1653
 *     def initialize_main_h_code(self):
 *         rootwriter = self.rootwriter
 *         for part in self.h_code_layout:             # <<<<<<<<<<<<<<
 *             self.parts[part] = rootwriter.insertion_point()
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_h_code_layout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1653, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1653, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_3;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1653, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3);
        #endif
        ++__pyx_t_3;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1653, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 1653, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_part, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1654
 *         rootwriter = self.rootwriter
 *         for part in self.h_code_layout:
 *             self.parts[part] = rootwriter.insertion_point()             # <<<<<<<<<<<<<<
 * 
 *     def finalize_main_c_code(self):
*/
    __pyx_t_5 = __pyx_v_rootwriter;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_insertion_point, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1654, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely((PyObject_SetItem(__pyx_t_5, __pyx_v_part, __pyx_t_1) < 0))) __PYX_ERR(0, 1654, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1653
 *     def initialize_main_h_code(self):
 *         rootwriter = self.rootwriter
 *         for part in self.h_code_layout:             # <<<<<<<<<<<<<<
 *             self.parts[part] = rootwriter.insertion_point()
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1651
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
 *     def initialize_main_h_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for part in self.h_code_layout:
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.initialize_main_h_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_rootwriter);
  __Pyx_XDECREF(__pyx_v_part);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1656
 *             self.parts[part] = rootwriter.insertion_point()
 * 
 *     def finalize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         self.close_global_decls()
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_7finalize_main_c_code(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_7finalize_main_c_code = {"finalize_main_c_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_7finalize_main_c_code, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_7finalize_main_c_code(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("finalize_main_c_code (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_6finalize_main_c_code(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_6finalize_main_c_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_code = NULL;
  PyObject *__pyx_v_util = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("finalize_main_c_code", 0);

  /* "Cython/Compiler/Code.py":1657
 * 
 *     def finalize_main_c_code(self):
 *         self.close_global_decls()             # <<<<<<<<<<<<<<
 * 
 *         #
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_close_global_decls, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1662
 *         # utility_code_def
 *         #
 *         code = self.parts['utility_code_def']             # <<<<<<<<<<<<<<
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")
 *         code.put(util.format_code(util.impl))
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_utility_code_def); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_code = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1663
 *         #
 *         code = self.parts['utility_code_def']
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")             # <<<<<<<<<<<<<<
 *         code.put(util.format_code(util.impl))
 *         code.putln("")
*/
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[5], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_util = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1664
 *         code = self.parts['utility_code_def']
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")
 *         code.put(util.format_code(util.impl))             # <<<<<<<<<<<<<<
 *         code.putln("")
 * 
*/
  __pyx_t_1 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = __pyx_v_util;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_mstate_global->__pyx_n_u_impl); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format_code, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1665
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")
 *         code.put(util.format_code(util.impl))
 *         code.putln("")             # <<<<<<<<<<<<<<
 * 
 *         #
*/
  __pyx_t_4 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__9};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1670
 *         # utility code pragmas
 *         #
 *         code = self.parts['utility_code_pragmas']             # <<<<<<<<<<<<<<
 *         util = UtilityCode.load_cached("UtilityCodePragmas", "ModuleSetupCode.c")
 *         code.putln(util.format_code(util.impl))
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_utility_code_pragmas); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_4);
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1671
 *         #
 *         code = self.parts['utility_code_pragmas']
 *         util = UtilityCode.load_cached("UtilityCodePragmas", "ModuleSetupCode.c")             # <<<<<<<<<<<<<<
 *         code.putln(util.format_code(util.impl))
 *         code.putln("")
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[6], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF_SET(__pyx_v_util, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1672
 *         code = self.parts['utility_code_pragmas']
 *         util = UtilityCode.load_cached("UtilityCodePragmas", "ModuleSetupCode.c")
 *         code.putln(util.format_code(util.impl))             # <<<<<<<<<<<<<<
 *         code.putln("")
 *         code = self.parts['utility_code_pragmas_end']
*/
  __pyx_t_4 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = __pyx_v_util;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_mstate_global->__pyx_n_u_impl); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format_code, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_1};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1673
 *         util = UtilityCode.load_cached("UtilityCodePragmas", "ModuleSetupCode.c")
 *         code.putln(util.format_code(util.impl))
 *         code.putln("")             # <<<<<<<<<<<<<<
 *         code = self.parts['utility_code_pragmas_end']
 *         util = UtilityCode.load_cached("UtilityCodePragmasEnd", "ModuleSetupCode.c")
*/
  __pyx_t_1 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__9};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1674
 *         code.putln(util.format_code(util.impl))
 *         code.putln("")
 *         code = self.parts['utility_code_pragmas_end']             # <<<<<<<<<<<<<<
 *         util = UtilityCode.load_cached("UtilityCodePragmasEnd", "ModuleSetupCode.c")
 *         code.putln(util.format_code(util.impl))
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_utility_code_pragmas_end); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1675
 *         code.putln("")
 *         code = self.parts['utility_code_pragmas_end']
 *         util = UtilityCode.load_cached("UtilityCodePragmasEnd", "ModuleSetupCode.c")             # <<<<<<<<<<<<<<
 *         code.putln(util.format_code(util.impl))
 *         code.putln("")
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[7], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_util, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1676
 *         code = self.parts['utility_code_pragmas_end']
 *         util = UtilityCode.load_cached("UtilityCodePragmasEnd", "ModuleSetupCode.c")
 *         code.putln(util.format_code(util.impl))             # <<<<<<<<<<<<<<
 *         code.putln("")
 * 
*/
  __pyx_t_1 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = __pyx_v_util;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_mstate_global->__pyx_n_u_impl); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format_code, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1677
 *         util = UtilityCode.load_cached("UtilityCodePragmasEnd", "ModuleSetupCode.c")
 *         code.putln(util.format_code(util.impl))
 *         code.putln("")             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, key):
*/
  __pyx_t_4 = __pyx_v_code;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__9};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1656
 *             self.parts[part] = rootwriter.insertion_point()
 * 
 *     def finalize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         self.close_global_decls()
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.finalize_main_c_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_code);
  __Pyx_XDECREF(__pyx_v_util);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1679
 *         code.putln("")
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         return self.parts[key]
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_9__getitem__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_9__getitem__ = {"__getitem__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_9__getitem__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_9__getitem__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_key = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_key,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1679, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1679, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1679, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__getitem__", 0) < (0)) __PYX_ERR(0, 1679, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, i); __PYX_ERR(0, 1679, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1679, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1679, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_key = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1679, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_8__getitem__(__pyx_self, __pyx_v_self, __pyx_v_key);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_8__getitem__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "Cython/Compiler/Code.py":1680
 * 
 *     def __getitem__(self, key):
 *         return self.parts[key]             # <<<<<<<<<<<<<<
 * 
 *     #
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1679
 *         code.putln("")
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         return self.parts[key]
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1685
 *     # Global constants, interned objects, etc.
 *     #
 *     def close_global_decls(self):             # <<<<<<<<<<<<<<
 *         # This is called when it is known that no more global declarations will
 *         # declared.
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_11close_global_decls(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_11close_global_decls = {"close_global_decls", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_11close_global_decls, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_11close_global_decls(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("close_global_decls (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_10close_global_decls(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_10close_global_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_w = NULL;
  PyObject *__pyx_v_const_type = NULL;
  PyObject *__pyx_v_part = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("close_global_decls", 0);

  /* "Cython/Compiler/Code.py":1688
 *         # This is called when it is known that no more global declarations will
 *         # declared.
 *         self.generate_const_declarations()             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['cached_builtins']
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_const_declarations, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1690
 *         self.generate_const_declarations()
 * 
 *         w = self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cached_builtins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_w = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1691
 * 
 *         w = self.parts['cached_builtins']
 *         w.putln("return 0;")             # <<<<<<<<<<<<<<
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_return_0};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1692
 *         w = self.parts['cached_builtins']
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):             # <<<<<<<<<<<<<<
 *             w.put_label(w.error_label)
 *             w.putln("return -1;")
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_label); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_label_used, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 1692, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1693
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)             # <<<<<<<<<<<<<<
 *             w.putln("return -1;")
 *         w.putln("}")
*/
    __pyx_t_4 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_label); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_label, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1693, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1694
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
 *             w.putln("return -1;")             # <<<<<<<<<<<<<<
 *         w.putln("}")
 *         w.exit_cfunc_scope()
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_return_1};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1694, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1692
 *         w = self.parts['cached_builtins']
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):             # <<<<<<<<<<<<<<
 *             w.put_label(w.error_label)
 *             w.putln("return -1;")
*/
  }

  /* "Cython/Compiler/Code.py":1695
 *             w.put_label(w.error_label)
 *             w.putln("return -1;")
 *         w.putln("}")             # <<<<<<<<<<<<<<
 *         w.exit_cfunc_scope()
 * 
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1695, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1696
 *             w.putln("return -1;")
 *         w.putln("}")
 *         w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['cached_constants']
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1698
 *         w.exit_cfunc_scope()
 * 
 *         w = self.parts['cached_constants']             # <<<<<<<<<<<<<<
 *         for const_type in ["tuple", "slice"]:
 *             if const_type in self.const_array_counters:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_cached_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1699
 * 
 *         w = self.parts['cached_constants']
 *         for const_type in ["tuple", "slice"]:             # <<<<<<<<<<<<<<
 *             if const_type in self.const_array_counters:
 *                 self.immortalize_constants(
*/
  __pyx_t_1 = __pyx_mstate_global->__pyx_tuple[8]; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_6 = 0;
  for (;;) {
    if (__pyx_t_6 >= 2) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6));
    #else
    __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6);
    #endif
    ++__pyx_t_6;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1699, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_const_type, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1700
 *         w = self.parts['cached_constants']
 *         for const_type in ["tuple", "slice"]:
 *             if const_type in self.const_array_counters:             # <<<<<<<<<<<<<<
 *                 self.immortalize_constants(
 *                     w.name_in_module_state(Naming.pyrex_prefix + const_type),
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_array_counters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_const_type, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 1700, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":1701
 *         for const_type in ["tuple", "slice"]:
 *             if const_type in self.const_array_counters:
 *                 self.immortalize_constants(             # <<<<<<<<<<<<<<
 *                     w.name_in_module_state(Naming.pyrex_prefix + const_type),
 *                     self.const_array_counters[const_type],
*/
      __pyx_t_4 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":1702
 *             if const_type in self.const_array_counters:
 *                 self.immortalize_constants(
 *                     w.name_in_module_state(Naming.pyrex_prefix + const_type),             # <<<<<<<<<<<<<<
 *                     self.const_array_counters[const_type],
 *                     w)
*/
      __pyx_t_8 = __pyx_v_w;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_pyrex_prefix); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1702, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyNumber_Add(__pyx_t_9, __pyx_v_const_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1702, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
        __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1702, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      }

      /* "Cython/Compiler/Code.py":1703
 *                 self.immortalize_constants(
 *                     w.name_in_module_state(Naming.pyrex_prefix + const_type),
 *                     self.const_array_counters[const_type],             # <<<<<<<<<<<<<<
 *                     w)
 *         w.put_finish_refcount_context()
*/
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_array_counters); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1703, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_v_const_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1703, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

      /* "Cython/Compiler/Code.py":1704
 *                     w.name_in_module_state(Naming.pyrex_prefix + const_type),
 *                     self.const_array_counters[const_type],
 *                     w)             # <<<<<<<<<<<<<<
 *         w.put_finish_refcount_context()
 *         w.putln("return 0;")
*/
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_t_7, __pyx_t_8, __pyx_v_w};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_immortalize_constants, __pyx_callargs+__pyx_t_3, (4-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1700
 *         w = self.parts['cached_constants']
 *         for const_type in ["tuple", "slice"]:
 *             if const_type in self.const_array_counters:             # <<<<<<<<<<<<<<
 *                 self.immortalize_constants(
 *                     w.name_in_module_state(Naming.pyrex_prefix + const_type),
*/
    }

    /* "Cython/Compiler/Code.py":1699
 * 
 *         w = self.parts['cached_constants']
 *         for const_type in ["tuple", "slice"]:             # <<<<<<<<<<<<<<
 *             if const_type in self.const_array_counters:
 *                 self.immortalize_constants(
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1705
 *                     self.const_array_counters[const_type],
 *                     w)
 *         w.put_finish_refcount_context()             # <<<<<<<<<<<<<<
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_finish_refcount_context, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1706
 *                     w)
 *         w.put_finish_refcount_context()
 *         w.putln("return 0;")             # <<<<<<<<<<<<<<
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_return_0};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1707
 *         w.put_finish_refcount_context()
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):             # <<<<<<<<<<<<<<
 *             w.put_label(w.error_label)
 *             w.put_finish_refcount_context()
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_label); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_label_used, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 1707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1708
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)             # <<<<<<<<<<<<<<
 *             w.put_finish_refcount_context()
 *             w.putln("return -1;")
*/
    __pyx_t_8 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_label, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1708, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1709
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
 *             w.put_finish_refcount_context()             # <<<<<<<<<<<<<<
 *             w.putln("return -1;")
 *         w.putln("}")
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_finish_refcount_context, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1709, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1710
 *             w.put_label(w.error_label)
 *             w.put_finish_refcount_context()
 *             w.putln("return -1;")             # <<<<<<<<<<<<<<
 *         w.putln("}")
 *         w.exit_cfunc_scope()
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_return_1};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1710, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1707
 *         w.put_finish_refcount_context()
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):             # <<<<<<<<<<<<<<
 *             w.put_label(w.error_label)
 *             w.put_finish_refcount_context()
*/
  }

  /* "Cython/Compiler/Code.py":1711
 *             w.put_finish_refcount_context()
 *             w.putln("return -1;")
 *         w.putln("}")             # <<<<<<<<<<<<<<
 *         w.exit_cfunc_scope()
 * 
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1712
 *             w.putln("return -1;")
 *         w.putln("}")
 *         w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         for part in ['init_globals', 'init_constants']:
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1714
 *         w.exit_cfunc_scope()
 * 
 *         for part in ['init_globals', 'init_constants']:             # <<<<<<<<<<<<<<
 *             w = self.parts[part]
 *             w.putln("return 0;")
*/
  __pyx_t_1 = __pyx_mstate_global->__pyx_tuple[9]; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_6 = 0;
  for (;;) {
    if (__pyx_t_6 >= 2) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6));
    #else
    __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6);
    #endif
    ++__pyx_t_6;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_part, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1715
 * 
 *         for part in ['init_globals', 'init_constants']:
 *             w = self.parts[part]             # <<<<<<<<<<<<<<
 *             w.putln("return 0;")
 *             if w.label_used(w.error_label):
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_v_part); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_8);
    __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1716
 *         for part in ['init_globals', 'init_constants']:
 *             w = self.parts[part]
 *             w.putln("return 0;")             # <<<<<<<<<<<<<<
 *             if w.label_used(w.error_label):
 *                 w.put_label(w.error_label)
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_return_0};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1716, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1717
 *             w = self.parts[part]
 *             w.putln("return 0;")
 *             if w.label_used(w.error_label):             # <<<<<<<<<<<<<<
 *                 w.put_label(w.error_label)
 *                 w.putln("return -1;")
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_label); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_label_used, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1717, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 1717, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":1718
 *             w.putln("return 0;")
 *             if w.label_used(w.error_label):
 *                 w.put_label(w.error_label)             # <<<<<<<<<<<<<<
 *                 w.putln("return -1;")
 *             w.putln("}")
*/
      __pyx_t_7 = __pyx_v_w;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1718, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_label, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1718, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":1719
 *             if w.label_used(w.error_label):
 *                 w.put_label(w.error_label)
 *                 w.putln("return -1;")             # <<<<<<<<<<<<<<
 *             w.putln("}")
 *             w.exit_cfunc_scope()
*/
      __pyx_t_2 = __pyx_v_w;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_return_1};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1719, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":1717
 *             w = self.parts[part]
 *             w.putln("return 0;")
 *             if w.label_used(w.error_label):             # <<<<<<<<<<<<<<
 *                 w.put_label(w.error_label)
 *                 w.putln("return -1;")
*/
    }

    /* "Cython/Compiler/Code.py":1720
 *                 w.put_label(w.error_label)
 *                 w.putln("return -1;")
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1720, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1721
 *                 w.putln("return -1;")
 *             w.putln("}")
 *             w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         if Options.generate_cleanup_code:
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1721, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1714
 *         w.exit_cfunc_scope()
 * 
 *         for part in ['init_globals', 'init_constants']:             # <<<<<<<<<<<<<<
 *             w = self.parts[part]
 *             w.putln("return 0;")
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1723
 *             w.exit_cfunc_scope()
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_generate_cleanup_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1724
 * 
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *             w.putln("}")
 *             w.exit_cfunc_scope()
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cleanup_globals); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_8);
    __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1725
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1726
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")
 *             w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         if Options.generate_cleanup_code:
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1726, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1723
 *             w.exit_cfunc_scope()
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")
*/
  }

  /* "Cython/Compiler/Code.py":1728
 *             w.exit_cfunc_scope()
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             w = self.parts['cleanup_module']
 *             w.putln("}")
*/
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_generate_cleanup_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 1728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1729
 * 
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_module']             # <<<<<<<<<<<<<<
 *             w.putln("}")
 *             w.exit_cfunc_scope()
*/
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_cleanup_module); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1730
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_module']
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
*/
    __pyx_t_8 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1730, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1731
 *             w = self.parts['cleanup_module']
 *             w.putln("}")
 *             w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *     def put_pyobject_decl(self, entry):
*/
    __pyx_t_8 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1731, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1728
 *             w.exit_cfunc_scope()
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             w = self.parts['cleanup_module']
 *             w.putln("}")
*/
  }

  /* "Cython/Compiler/Code.py":1685
 *     # Global constants, interned objects, etc.
 *     #
 *     def close_global_decls(self):             # <<<<<<<<<<<<<<
 *         # This is called when it is known that no more global declarations will
 *         # declared.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.close_global_decls", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_const_type);
  __Pyx_XDECREF(__pyx_v_part);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1733
 *             w.exit_cfunc_scope()
 * 
 *     def put_pyobject_decl(self, entry):             # <<<<<<<<<<<<<<
 *         self['global_var'].putln("static PyObject *%s;" % entry.cname)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_13put_pyobject_decl(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_13put_pyobject_decl = {"put_pyobject_decl", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_13put_pyobject_decl, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_13put_pyobject_decl(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_pyobject_decl (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_entry,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1733, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1733, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1733, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_pyobject_decl", 0) < (0)) __PYX_ERR(0, 1733, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_pyobject_decl", 1, 2, 2, i); __PYX_ERR(0, 1733, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1733, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1733, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_pyobject_decl", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1733, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.put_pyobject_decl", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_12put_pyobject_decl(__pyx_self, __pyx_v_self, __pyx_v_entry);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_12put_pyobject_decl(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("put_pyobject_decl", 0);

  /* "Cython/Compiler/Code.py":1734
 * 
 *     def put_pyobject_decl(self, entry):
 *         self['global_var'].putln("static PyObject *%s;" % entry.cname)             # <<<<<<<<<<<<<<
 * 
 *     # constant handling at code generation time
*/
  __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_global_var); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_static_PyObject_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1733
 *             w.exit_cfunc_scope()
 * 
 *     def put_pyobject_decl(self, entry):             # <<<<<<<<<<<<<<
 *         self['global_var'].putln("static PyObject *%s;" % entry.cname)
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.put_pyobject_decl", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1738
 *     # constant handling at code generation time
 * 
 *     def get_cached_constants_writer(self, target=None):             # <<<<<<<<<<<<<<
 *         if target is not None:
 *             if target in self.initialised_constants:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_15get_cached_constants_writer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_15get_cached_constants_writer = {"get_cached_constants_writer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_15get_cached_constants_writer, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_15get_cached_constants_writer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_target = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_cached_constants_writer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_target,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1738, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_cached_constants_writer", 0) < (0)) __PYX_ERR(0, 1738, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_cached_constants_writer", 0, 1, 2, i); __PYX_ERR(0, 1738, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1738, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_target = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_cached_constants_writer", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 1738, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_cached_constants_writer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_14get_cached_constants_writer(__pyx_self, __pyx_v_self, __pyx_v_target);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_14get_cached_constants_writer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_cached_constants_writer", 0);

  /* "Cython/Compiler/Code.py":1739
 * 
 *     def get_cached_constants_writer(self, target=None):
 *         if target is not None:             # <<<<<<<<<<<<<<
 *             if target in self.initialised_constants:
 *                 # Return None on second/later calls to prevent duplicate creation code.
*/
  __pyx_t_1 = (__pyx_v_target != Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1740
 *     def get_cached_constants_writer(self, target=None):
 *         if target is not None:
 *             if target in self.initialised_constants:             # <<<<<<<<<<<<<<
 *                 # Return None on second/later calls to prevent duplicate creation code.
 *                 return None
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_initialised_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_target, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1740, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":1742
 *             if target in self.initialised_constants:
 *                 # Return None on second/later calls to prevent duplicate creation code.
 *                 return None             # <<<<<<<<<<<<<<
 *             self.initialised_constants.add(target)
 *         return self.parts['cached_constants']
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":1740
 *     def get_cached_constants_writer(self, target=None):
 *         if target is not None:
 *             if target in self.initialised_constants:             # <<<<<<<<<<<<<<
 *                 # Return None on second/later calls to prevent duplicate creation code.
 *                 return None
*/
    }

    /* "Cython/Compiler/Code.py":1743
 *                 # Return None on second/later calls to prevent duplicate creation code.
 *                 return None
 *             self.initialised_constants.add(target)             # <<<<<<<<<<<<<<
 *         return self.parts['cached_constants']
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_initialised_constants); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_target};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1743, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1739
 * 
 *     def get_cached_constants_writer(self, target=None):
 *         if target is not None:             # <<<<<<<<<<<<<<
 *             if target in self.initialised_constants:
 *                 # Return None on second/later calls to prevent duplicate creation code.
*/
  }

  /* "Cython/Compiler/Code.py":1744
 *                 return None
 *             self.initialised_constants.add(target)
 *         return self.parts['cached_constants']             # <<<<<<<<<<<<<<
 * 
 *     def get_int_const(self, str_value, longness=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_cached_constants); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1738
 *     # constant handling at code generation time
 * 
 *     def get_cached_constants_writer(self, target=None):             # <<<<<<<<<<<<<<
 *         if target is not None:
 *             if target in self.initialised_constants:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_cached_constants_writer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1746
 *         return self.parts['cached_constants']
 * 
 *     def get_int_const(self, str_value, longness=False):             # <<<<<<<<<<<<<<
 *         py_type = longness and 'long' or 'int'
 *         try:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_17get_int_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_17get_int_const = {"get_int_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_17get_int_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_17get_int_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_str_value = 0;
  PyObject *__pyx_v_longness = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_int_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_str_value,&__pyx_mstate_global->__pyx_n_u_longness,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1746, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1746, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1746, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1746, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_int_const", 0) < (0)) __PYX_ERR(0, 1746, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False)));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_int_const", 0, 2, 3, i); __PYX_ERR(0, 1746, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1746, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1746, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1746, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False)));
    }
    __pyx_v_self = values[0];
    __pyx_v_str_value = values[1];
    __pyx_v_longness = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_int_const", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 1746, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_int_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_16get_int_const(__pyx_self, __pyx_v_self, __pyx_v_str_value, __pyx_v_longness);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_16get_int_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_longness) {
  PyObject *__pyx_v_py_type = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_int_const", 0);

  /* "Cython/Compiler/Code.py":1747
 * 
 *     def get_int_const(self, str_value, longness=False):
 *         py_type = longness and 'long' or 'int'             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.num_const_index[(str_value, py_type)]
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_longness); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1747, __pyx_L1_error)
  if (!__pyx_t_2) {
    goto __pyx_L4_next_or;
  } else {
  }
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_mstate_global->__pyx_n_u_long); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1747, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_long);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_long;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_L4_next_or:;
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int);
  __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_int;
  __pyx_L3_bool_binop_done:;
  __pyx_v_py_type = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1748
 *     def get_int_const(self, str_value, longness=False):
 *         py_type = longness and 'long' or 'int'
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.num_const_index[(str_value, py_type)]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_5);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":1749
 *         py_type = longness and 'long' or 'int'
 *         try:
 *             c = self.num_const_index[(str_value, py_type)]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             c = self.new_num_const(str_value, py_type)
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_num_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1749, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1749, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_str_value);
      __Pyx_GIVEREF(__pyx_v_str_value);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_str_value) != (0)) __PYX_ERR(0, 1749, __pyx_L6_error);
      __Pyx_INCREF(__pyx_v_py_type);
      __Pyx_GIVEREF(__pyx_v_py_type);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_py_type) != (0)) __PYX_ERR(0, 1749, __pyx_L6_error);
      __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1749, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_v_c = __pyx_t_7;
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":1748
 *     def get_int_const(self, str_value, longness=False):
 *         py_type = longness and 'long' or 'int'
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.num_const_index[(str_value, py_type)]
 *         except KeyError:
*/
    }
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L11_try_end;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1750
 *         try:
 *             c = self.num_const_index[(str_value, py_type)]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             c = self.new_num_const(str_value, py_type)
 *         return c
*/
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_8) {
      __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_int_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(0, 1750, __pyx_L8_except_error)
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_1);

      /* "Cython/Compiler/Code.py":1751
 *             c = self.num_const_index[(str_value, py_type)]
 *         except KeyError:
 *             c = self.new_num_const(str_value, py_type)             # <<<<<<<<<<<<<<
 *         return c
 * 
*/
      __pyx_t_10 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_v_str_value, __pyx_v_py_type};
        __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_num_const, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1751, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_9);
      }
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L7_exception_handled;
    }
    goto __pyx_L8_except_error;

    /* "Cython/Compiler/Code.py":1748
 *     def get_int_const(self, str_value, longness=False):
 *         py_type = longness and 'long' or 'int'
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.num_const_index[(str_value, py_type)]
 *         except KeyError:
*/
    __pyx_L8_except_error:;
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
    goto __pyx_L1_error;
    __pyx_L7_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
    __pyx_L11_try_end:;
  }

  /* "Cython/Compiler/Code.py":1752
 *         except KeyError:
 *             c = self.new_num_const(str_value, py_type)
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def get_float_const(self, str_value, value_code):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_c);
  __pyx_r = __pyx_v_c;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1746
 *         return self.parts['cached_constants']
 * 
 *     def get_int_const(self, str_value, longness=False):             # <<<<<<<<<<<<<<
 *         py_type = longness and 'long' or 'int'
 *         try:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_int_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_py_type);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1754
 *         return c
 * 
 *     def get_float_const(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.num_const_index[(str_value, 'float')]
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_19get_float_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_19get_float_const = {"get_float_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_19get_float_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_19get_float_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_str_value = 0;
  PyObject *__pyx_v_value_code = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_float_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_str_value,&__pyx_mstate_global->__pyx_n_u_value_code,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1754, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1754, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1754, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1754, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_float_const", 0) < (0)) __PYX_ERR(0, 1754, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_float_const", 1, 3, 3, i); __PYX_ERR(0, 1754, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1754, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1754, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1754, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_str_value = values[1];
    __pyx_v_value_code = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_float_const", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1754, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_float_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_18get_float_const(__pyx_self, __pyx_v_self, __pyx_v_str_value, __pyx_v_value_code);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_18get_float_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_value_code) {
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_float_const", 0);

  /* "Cython/Compiler/Code.py":1755
 * 
 *     def get_float_const(self, str_value, value_code):
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.num_const_index[(str_value, 'float')]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":1756
 *     def get_float_const(self, str_value, value_code):
 *         try:
 *             c = self.num_const_index[(str_value, 'float')]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             c = self.new_num_const(str_value, 'float', value_code)
*/
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_num_const_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1756, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1756, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_v_str_value);
      __Pyx_GIVEREF(__pyx_v_str_value);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_str_value) != (0)) __PYX_ERR(0, 1756, __pyx_L3_error);
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_float);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_float);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_mstate_global->__pyx_n_u_float) != (0)) __PYX_ERR(0, 1756, __pyx_L3_error);
      __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1756, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_v_c = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1755
 * 
 *     def get_float_const(self, str_value, value_code):
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.num_const_index[(str_value, 'float')]
 *         except KeyError:
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":1757
 *         try:
 *             c = self.num_const_index[(str_value, 'float')]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             c = self.new_num_const(str_value, 'float', value_code)
 *         return c
*/
    __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_7) {
      __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_float_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 1757, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":1758
 *             c = self.num_const_index[(str_value, 'float')]
 *         except KeyError:
 *             c = self.new_num_const(str_value, 'float', value_code)             # <<<<<<<<<<<<<<
 *         return c
 * 
*/
      __pyx_t_9 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_9);
      __pyx_t_10 = 0;
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_9, __pyx_v_str_value, __pyx_mstate_global->__pyx_n_u_float, __pyx_v_value_code};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_num_const, __pyx_callargs+__pyx_t_10, (4-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1758, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_8);
      __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "Cython/Compiler/Code.py":1755
 * 
 *     def get_float_const(self, str_value, value_code):
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.num_const_index[(str_value, 'float')]
 *         except KeyError:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "Cython/Compiler/Code.py":1759
 *         except KeyError:
 *             c = self.new_num_const(str_value, 'float', value_code)
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def get_py_const(self, prefix, dedup_key=None):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_c);
  __pyx_r = __pyx_v_c;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1754
 *         return c
 * 
 *     def get_float_const(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.num_const_index[(str_value, 'float')]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_float_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1761
 *         return c
 * 
 *     def get_py_const(self, prefix, dedup_key=None):             # <<<<<<<<<<<<<<
 *         if dedup_key is not None:
 *             const = self.dedup_const_index.get(dedup_key)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_21get_py_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_21get_py_const = {"get_py_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_21get_py_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_21get_py_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_prefix = 0;
  PyObject *__pyx_v_dedup_key = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_prefix,&__pyx_mstate_global->__pyx_n_u_dedup_key,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1761, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1761, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1761, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1761, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_const", 0) < (0)) __PYX_ERR(0, 1761, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 2, 3, i); __PYX_ERR(0, 1761, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1761, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1761, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1761, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_prefix = values[1];
    __pyx_v_dedup_key = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 1761, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_py_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_20get_py_const(__pyx_self, __pyx_v_self, __pyx_v_prefix, __pyx_v_dedup_key);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_20get_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_prefix, PyObject *__pyx_v_dedup_key) {
  PyObject *__pyx_v_const = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_py_const", 0);

  /* "Cython/Compiler/Code.py":1762
 * 
 *     def get_py_const(self, prefix, dedup_key=None):
 *         if dedup_key is not None:             # <<<<<<<<<<<<<<
 *             const = self.dedup_const_index.get(dedup_key)
 *             if const is not None:
*/
  __pyx_t_1 = (__pyx_v_dedup_key != Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1763
 *     def get_py_const(self, prefix, dedup_key=None):
 *         if dedup_key is not None:
 *             const = self.dedup_const_index.get(dedup_key)             # <<<<<<<<<<<<<<
 *             if const is not None:
 *                 return const
*/
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_dedup_const_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dedup_key};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1763, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_const = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1764
 *         if dedup_key is not None:
 *             const = self.dedup_const_index.get(dedup_key)
 *             if const is not None:             # <<<<<<<<<<<<<<
 *                 return const
 *         const = self.new_array_const_cname(prefix)
*/
    __pyx_t_1 = (__pyx_v_const != Py_None);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":1765
 *             const = self.dedup_const_index.get(dedup_key)
 *             if const is not None:
 *                 return const             # <<<<<<<<<<<<<<
 *         const = self.new_array_const_cname(prefix)
 *         if dedup_key is not None:
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_const);
      __pyx_r = __pyx_v_const;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":1764
 *         if dedup_key is not None:
 *             const = self.dedup_const_index.get(dedup_key)
 *             if const is not None:             # <<<<<<<<<<<<<<
 *                 return const
 *         const = self.new_array_const_cname(prefix)
*/
    }

    /* "Cython/Compiler/Code.py":1762
 * 
 *     def get_py_const(self, prefix, dedup_key=None):
 *         if dedup_key is not None:             # <<<<<<<<<<<<<<
 *             const = self.dedup_const_index.get(dedup_key)
 *             if const is not None:
*/
  }

  /* "Cython/Compiler/Code.py":1766
 *             if const is not None:
 *                 return const
 *         const = self.new_array_const_cname(prefix)             # <<<<<<<<<<<<<<
 *         if dedup_key is not None:
 *             self.dedup_const_index[dedup_key] = const
*/
  __pyx_t_4 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_prefix};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_array_const_cname, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_XDECREF_SET(__pyx_v_const, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1767
 *                 return const
 *         const = self.new_array_const_cname(prefix)
 *         if dedup_key is not None:             # <<<<<<<<<<<<<<
 *             self.dedup_const_index[dedup_key] = const
 *         return const
*/
  __pyx_t_1 = (__pyx_v_dedup_key != Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1768
 *         const = self.new_array_const_cname(prefix)
 *         if dedup_key is not None:
 *             self.dedup_const_index[dedup_key] = const             # <<<<<<<<<<<<<<
 *         return const
 * 
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_dedup_const_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((PyObject_SetItem(__pyx_t_2, __pyx_v_dedup_key, __pyx_v_const) < 0))) __PYX_ERR(0, 1768, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1767
 *                 return const
 *         const = self.new_array_const_cname(prefix)
 *         if dedup_key is not None:             # <<<<<<<<<<<<<<
 *             self.dedup_const_index[dedup_key] = const
 *         return const
*/
  }

  /* "Cython/Compiler/Code.py":1769
 *         if dedup_key is not None:
 *             self.dedup_const_index[dedup_key] = const
 *         return const             # <<<<<<<<<<<<<<
 * 
 *     def get_argument_default_const(self, type):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_const);
  __pyx_r = __pyx_v_const;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1761
 *         return c
 * 
 *     def get_py_const(self, prefix, dedup_key=None):             # <<<<<<<<<<<<<<
 *         if dedup_key is not None:
 *             const = self.dedup_const_index.get(dedup_key)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_py_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_const);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1771
 *         return const
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         cname = self.new_const_cname('')
 *         c = PyObjectConst(cname, type)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_23get_argument_default_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_23get_argument_default_const = {"get_argument_default_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_23get_argument_default_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_23get_argument_default_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_argument_default_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_type,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1771, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1771, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1771, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_argument_default_const", 0) < (0)) __PYX_ERR(0, 1771, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_argument_default_const", 1, 2, 2, i); __PYX_ERR(0, 1771, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1771, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1771, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_type = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_argument_default_const", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1771, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_argument_default_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22get_argument_default_const(__pyx_self, __pyx_v_self, __pyx_v_type);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22get_argument_default_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  PyObject *__pyx_v_cname = NULL;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_argument_default_const", 0);

  /* "Cython/Compiler/Code.py":1772
 * 
 *     def get_argument_default_const(self, type):
 *         cname = self.new_const_cname('')             # <<<<<<<<<<<<<<
 *         c = PyObjectConst(cname, type)
 *         self.arg_default_constants.append(c)
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_const_cname, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1773
 *     def get_argument_default_const(self, type):
 *         cname = self.new_const_cname('')
 *         c = PyObjectConst(cname, type)             # <<<<<<<<<<<<<<
 *         self.arg_default_constants.append(c)
 *         # Argument default constants aren't currently cleaned up.
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_cname, __pyx_v_type};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1773, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_c = ((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1774
 *         cname = self.new_const_cname('')
 *         c = PyObjectConst(cname, type)
 *         self.arg_default_constants.append(c)             # <<<<<<<<<<<<<<
 *         # Argument default constants aren't currently cleaned up.
 *         # If that changes, it needs to account for the fact that they
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_arg_default_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_Append(__pyx_t_1, ((PyObject *)__pyx_v_c)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 1774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1778
 *         # If that changes, it needs to account for the fact that they
 *         # aren't just Python objects
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def get_string_const(self, text, c_used=True):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_c);
  __pyx_r = ((PyObject *)__pyx_v_c);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1771
 *         return const
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         cname = self.new_const_cname('')
 *         c = PyObjectConst(cname, type)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_argument_default_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF((PyObject *)__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1780
 *         return c
 * 
 *     def get_string_const(self, text, c_used=True):             # <<<<<<<<<<<<<<
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_25get_string_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_25get_string_const = {"get_string_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_25get_string_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_25get_string_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_c_used = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_string_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_text,&__pyx_mstate_global->__pyx_n_u_c_used,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1780, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1780, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1780, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1780, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_string_const", 0) < (0)) __PYX_ERR(0, 1780, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_string_const", 0, 2, 3, i); __PYX_ERR(0, 1780, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1780, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1780, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1780, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
    __pyx_v_c_used = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_string_const", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 1780, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_24get_string_const(__pyx_self, __pyx_v_self, __pyx_v_text, __pyx_v_c_used);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_24get_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_c_used) {
  PyObject *__pyx_v_byte_string = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_string_const", 0);

  /* "Cython/Compiler/Code.py":1782
 *     def get_string_const(self, text, c_used=True):
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:             # <<<<<<<<<<<<<<
 *             byte_string = text.utf8encode()
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_mstate_global->__pyx_n_u_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1782, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1783
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:
 *             byte_string = text.utf8encode()             # <<<<<<<<<<<<<<
 *         else:
 *             byte_string = text.byteencode()
*/
    __pyx_t_3 = __pyx_v_text;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_utf8encode, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1783, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_byte_string = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1782
 *     def get_string_const(self, text, c_used=True):
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:             # <<<<<<<<<<<<<<
 *             byte_string = text.utf8encode()
 *         else:
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1785
 *             byte_string = text.utf8encode()
 *         else:
 *             byte_string = text.byteencode()             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.string_const_index[byte_string]
*/
  /*else*/ {
    __pyx_t_3 = __pyx_v_text;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_byteencode, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1785, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_byte_string = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1786
 *         else:
 *             byte_string = text.byteencode()
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.string_const_index[byte_string]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_7);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":1787
 *             byte_string = text.byteencode()
 *         try:
 *             c = self.string_const_index[byte_string]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             c = self.new_string_const(text, byte_string)
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_string_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1787, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_byte_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1787, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_c = __pyx_t_3;
      __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":1786
 *         else:
 *             byte_string = text.byteencode()
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.string_const_index[byte_string]
 *         except KeyError:
*/
    }
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L9_try_end;
    __pyx_L4_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1788
 *         try:
 *             c = self.string_const_index[byte_string]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             c = self.new_string_const(text, byte_string)
 *         if c_used:
*/
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_8) {
      __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_9) < 0) __PYX_ERR(0, 1788, __pyx_L6_except_error)
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_9);

      /* "Cython/Compiler/Code.py":1789
 *             c = self.string_const_index[byte_string]
 *         except KeyError:
 *             c = self.new_string_const(text, byte_string)             # <<<<<<<<<<<<<<
 *         if c_used:
 *             c.c_used = True
*/
      __pyx_t_11 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_11);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_v_text, __pyx_v_byte_string};
        __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_string_const, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1789, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
      }
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L5_exception_handled;
    }
    goto __pyx_L6_except_error;

    /* "Cython/Compiler/Code.py":1786
 *         else:
 *             byte_string = text.byteencode()
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.string_const_index[byte_string]
 *         except KeyError:
*/
    __pyx_L6_except_error:;
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L1_error;
    __pyx_L5_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    __pyx_L9_try_end:;
  }

  /* "Cython/Compiler/Code.py":1790
 *         except KeyError:
 *             c = self.new_string_const(text, byte_string)
 *         if c_used:             # <<<<<<<<<<<<<<
 *             c.c_used = True
 *         return c
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_c_used); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1790, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1791
 *             c = self.new_string_const(text, byte_string)
 *         if c_used:
 *             c.c_used = True             # <<<<<<<<<<<<<<
 *         return c
 * 
*/
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_c_used, Py_True) < (0)) __PYX_ERR(0, 1791, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":1790
 *         except KeyError:
 *             c = self.new_string_const(text, byte_string)
 *         if c_used:             # <<<<<<<<<<<<<<
 *             c.c_used = True
 *         return c
*/
  }

  /* "Cython/Compiler/Code.py":1792
 *         if c_used:
 *             c.c_used = True
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def get_pyunicode_ptr_const(self, text):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_c);
  __pyx_r = __pyx_v_c;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1780
 *         return c
 * 
 *     def get_string_const(self, text, c_used=True):             # <<<<<<<<<<<<<<
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_byte_string);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1794
 *         return c
 * 
 *     def get_pyunicode_ptr_const(self, text):             # <<<<<<<<<<<<<<
 *         # return a Py_UNICODE[] constant, creating a new one if necessary
 *         assert text.is_unicode
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_27get_pyunicode_ptr_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_27get_pyunicode_ptr_const = {"get_pyunicode_ptr_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_27get_pyunicode_ptr_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_27get_pyunicode_ptr_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_pyunicode_ptr_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_text,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1794, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1794, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1794, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_pyunicode_ptr_const", 0) < (0)) __PYX_ERR(0, 1794, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_pyunicode_ptr_const", 1, 2, 2, i); __PYX_ERR(0, 1794, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1794, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1794, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_pyunicode_ptr_const", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1794, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_pyunicode_ptr_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_26get_pyunicode_ptr_const(__pyx_self, __pyx_v_self, __pyx_v_text);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_26get_pyunicode_ptr_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_pyunicode_ptr_const", 0);

  /* "Cython/Compiler/Code.py":1796
 *     def get_pyunicode_ptr_const(self, text):
 *         # return a Py_UNICODE[] constant, creating a new one if necessary
 *         assert text.is_unicode             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.pyunicode_ptr_const_index[text]
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_mstate_global->__pyx_n_u_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1796, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(0, 1796, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 1796, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":1797
 *         # return a Py_UNICODE[] constant, creating a new one if necessary
 *         assert text.is_unicode
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.pyunicode_ptr_const_index[text]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_5);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":1798
 *         assert text.is_unicode
 *         try:
 *             c = self.pyunicode_ptr_const_index[text]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             c = self.pyunicode_ptr_const_index[text] = self.new_const_cname()
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pyunicode_ptr_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1798, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_text); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1798, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_c = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1797
 *         # return a Py_UNICODE[] constant, creating a new one if necessary
 *         assert text.is_unicode
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.pyunicode_ptr_const_index[text]
 *         except KeyError:
*/
    }
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":1799
 *         try:
 *             c = self.pyunicode_ptr_const_index[text]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             c = self.pyunicode_ptr_const_index[text] = self.new_const_cname()
 *         return c
*/
    __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_7) {
      __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_pyunicode_ptr_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 1799, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_8);

      /* "Cython/Compiler/Code.py":1800
 *             c = self.pyunicode_ptr_const_index[text]
 *         except KeyError:
 *             c = self.pyunicode_ptr_const_index[text] = self.new_const_cname()             # <<<<<<<<<<<<<<
 *         return c
 * 
*/
      __pyx_t_10 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
        __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_const_cname, __pyx_callargs+__pyx_t_11, (1-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1800, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_9);
      }
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pyunicode_ptr_const_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1800, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      if (unlikely((PyObject_SetItem(__pyx_t_10, __pyx_v_text, __pyx_t_9) < 0))) __PYX_ERR(0, 1800, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "Cython/Compiler/Code.py":1797
 *         # return a Py_UNICODE[] constant, creating a new one if necessary
 *         assert text.is_unicode
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.pyunicode_ptr_const_index[text]
 *         except KeyError:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
    __pyx_L8_try_end:;
  }

  /* "Cython/Compiler/Code.py":1801
 *         except KeyError:
 *             c = self.pyunicode_ptr_const_index[text] = self.new_const_cname()
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def get_py_string_const(self, text, identifier=None):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_c);
  __pyx_r = __pyx_v_c;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1794
 *         return c
 * 
 *     def get_pyunicode_ptr_const(self, text):             # <<<<<<<<<<<<<<
 *         # return a Py_UNICODE[] constant, creating a new one if necessary
 *         assert text.is_unicode
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_pyunicode_ptr_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1803
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None):             # <<<<<<<<<<<<<<
 *         # return a Python string constant, creating a new one if necessary
 *         c_string: StringConst = self.get_string_const(text, c_used=False)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_29get_py_string_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_29get_py_string_const = {"get_py_string_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_29get_py_string_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_29get_py_string_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_identifier = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_string_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_text,&__pyx_mstate_global->__pyx_n_u_identifier,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1803, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_string_const", 0) < (0)) __PYX_ERR(0, 1803, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 2, 3, i); __PYX_ERR(0, 1803, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1803, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1803, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
    __pyx_v_identifier = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 1803, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_28get_py_string_const(__pyx_self, __pyx_v_self, __pyx_v_text, __pyx_v_identifier);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_28get_py_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier) {
  struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_c_string = 0;
  PyObject *__pyx_v_py_string = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_py_string_const", 0);

  /* "Cython/Compiler/Code.py":1805
 *     def get_py_string_const(self, text, identifier=None):
 *         # return a Python string constant, creating a new one if necessary
 *         c_string: StringConst = self.get_string_const(text, c_used=False)             # <<<<<<<<<<<<<<
 *         py_string = c_string.get_py_string_const(text.encoding, identifier)
 *         return py_string
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_text};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_c_used, Py_False, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 1805, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_get_string_const, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_StringConst))))) __PYX_ERR(0, 1805, __pyx_L1_error)
  __pyx_v_c_string = ((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1806
 *         # return a Python string constant, creating a new one if necessary
 *         c_string: StringConst = self.get_string_const(text, c_used=False)
 *         py_string = c_string.get_py_string_const(text.encoding, identifier)             # <<<<<<<<<<<<<<
 *         return py_string
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_mstate_global->__pyx_n_u_encoding); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5.__pyx_n = 1;
  __pyx_t_5.identifier = __pyx_v_identifier;
  __pyx_t_4 = __pyx_f_6Cython_8Compiler_4Code_11StringConst_get_py_string_const(__pyx_v_c_string, __pyx_t_1, 0, &__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_py_string = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1807
 *         c_string: StringConst = self.get_string_const(text, c_used=False)
 *         py_string = c_string.get_py_string_const(text.encoding, identifier)
 *         return py_string             # <<<<<<<<<<<<<<
 * 
 *     def get_py_codeobj_const(self, node):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_py_string);
  __pyx_r = __pyx_v_py_string;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1803
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None):             # <<<<<<<<<<<<<<
 *         # return a Python string constant, creating a new one if necessary
 *         c_string: StringConst = self.get_string_const(text, c_used=False)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_c_string);
  __Pyx_XDECREF(__pyx_v_py_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1809
 *         return py_string
 * 
 *     def get_py_codeobj_const(self, node):             # <<<<<<<<<<<<<<
 *         idx = len(self.codeobject_constants)
 *         name = f"{Naming.codeobjtab_cname}[{idx}]"
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_31get_py_codeobj_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_31get_py_codeobj_const = {"get_py_codeobj_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_31get_py_codeobj_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_31get_py_codeobj_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_node = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_codeobj_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_node,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1809, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_codeobj_const", 0) < (0)) __PYX_ERR(0, 1809, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_codeobj_const", 1, 2, 2, i); __PYX_ERR(0, 1809, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1809, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1809, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_node = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_codeobj_const", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1809, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_py_codeobj_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_30get_py_codeobj_const(__pyx_self, __pyx_v_self, __pyx_v_node);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_30get_py_codeobj_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
  Py_ssize_t __pyx_v_idx;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4[4];
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_py_codeobj_const", 0);

  /* "Cython/Compiler/Code.py":1810
 * 
 *     def get_py_codeobj_const(self, node):
 *         idx = len(self.codeobject_constants)             # <<<<<<<<<<<<<<
 *         name = f"{Naming.codeobjtab_cname}[{idx}]"
 *         self.codeobject_constants.append(node)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_codeobject_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_idx = __pyx_t_2;

  /* "Cython/Compiler/Code.py":1811
 *     def get_py_codeobj_const(self, node):
 *         idx = len(self.codeobject_constants)
 *         name = f"{Naming.codeobjtab_cname}[{idx}]"             # <<<<<<<<<<<<<<
 *         self.codeobject_constants.append(node)
 *         return name
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_codeobjtab_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_idx, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4[0] = __pyx_t_3;
  __pyx_t_4[1] = __pyx_mstate_global->__pyx_kp_u__22;
  __pyx_t_4[2] = __pyx_t_1;
  __pyx_t_4[3] = __pyx_mstate_global->__pyx_kp_u__23;
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_name = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1812
 *         idx = len(self.codeobject_constants)
 *         name = f"{Naming.codeobjtab_cname}[{idx}]"
 *         self.codeobject_constants.append(node)             # <<<<<<<<<<<<<<
 *         return name
 * 
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_codeobject_constants); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_Append(__pyx_t_5, __pyx_v_node); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 1812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1813
 *         name = f"{Naming.codeobjtab_cname}[{idx}]"
 *         self.codeobject_constants.append(node)
 *         return name             # <<<<<<<<<<<<<<
 * 
 *     def get_interned_identifier(self, text):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_name);
  __pyx_r = __pyx_v_name;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1809
 *         return py_string
 * 
 *     def get_py_codeobj_const(self, node):             # <<<<<<<<<<<<<<
 *         idx = len(self.codeobject_constants)
 *         name = f"{Naming.codeobjtab_cname}[{idx}]"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_py_codeobj_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1815
 *         return name
 * 
 *     def get_interned_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_33get_interned_identifier(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_33get_interned_identifier = {"get_interned_identifier", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_33get_interned_identifier, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_33get_interned_identifier(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_interned_identifier (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_text,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1815, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_interned_identifier", 0) < (0)) __PYX_ERR(0, 1815, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_interned_identifier", 1, 2, 2, i); __PYX_ERR(0, 1815, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1815, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1815, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_interned_identifier", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1815, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_interned_identifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_32get_interned_identifier(__pyx_self, __pyx_v_self, __pyx_v_text);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_32get_interned_identifier(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_interned_identifier", 0);

  /* "Cython/Compiler/Code.py":1816
 * 
 *     def get_interned_identifier(self, text):
 *         return self.get_py_string_const(text, identifier=True)             # <<<<<<<<<<<<<<
 * 
 *     def new_string_const(self, text, byte_string):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_text};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_identifier, Py_True, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 1816, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_get_py_string_const, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1815
 *         return name
 * 
 *     def get_interned_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_interned_identifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1818
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def new_string_const(self, text, byte_string):             # <<<<<<<<<<<<<<
 *         cname = self.new_string_const_cname(byte_string)
 *         c = StringConst(cname, text, byte_string)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_35new_string_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_35new_string_const = {"new_string_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_35new_string_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_35new_string_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_byte_string = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_string_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_text,&__pyx_mstate_global->__pyx_n_u_byte_string,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1818, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1818, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1818, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1818, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_string_const", 0) < (0)) __PYX_ERR(0, 1818, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("new_string_const", 1, 3, 3, i); __PYX_ERR(0, 1818, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1818, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1818, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1818, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
    __pyx_v_byte_string = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_string_const", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1818, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_34new_string_const(__pyx_self, __pyx_v_self, __pyx_v_text, __pyx_v_byte_string);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_34new_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_byte_string) {
  PyObject *__pyx_v_cname = NULL;
  struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_string_const", 0);

  /* "Cython/Compiler/Code.py":1819
 * 
 *     def new_string_const(self, text, byte_string):
 *         cname = self.new_string_const_cname(byte_string)             # <<<<<<<<<<<<<<
 *         c = StringConst(cname, text, byte_string)
 *         self.string_const_index[byte_string] = c
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_byte_string};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_string_const_cname, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1820
 *     def new_string_const(self, text, byte_string):
 *         cname = self.new_string_const_cname(byte_string)
 *         c = StringConst(cname, text, byte_string)             # <<<<<<<<<<<<<<
 *         self.string_const_index[byte_string] = c
 *         return c
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_v_cname, __pyx_v_text, __pyx_v_byte_string};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_StringConst, __pyx_callargs+__pyx_t_3, (4-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1820, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_c = ((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1821
 *         cname = self.new_string_const_cname(byte_string)
 *         c = StringConst(cname, text, byte_string)
 *         self.string_const_index[byte_string] = c             # <<<<<<<<<<<<<<
 *         return c
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_string_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_byte_string, ((PyObject *)__pyx_v_c)) < 0))) __PYX_ERR(0, 1821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1822
 *         c = StringConst(cname, text, byte_string)
 *         self.string_const_index[byte_string] = c
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def new_num_const(self, value, py_type, value_code=None):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_c);
  __pyx_r = ((PyObject *)__pyx_v_c);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1818
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def new_string_const(self, text, byte_string):             # <<<<<<<<<<<<<<
 *         cname = self.new_string_const_cname(byte_string)
 *         c = StringConst(cname, text, byte_string)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF((PyObject *)__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1824
 *         return c
 * 
 *     def new_num_const(self, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         cname = self.new_num_const_cname(value, py_type)
 *         c = NumConst(cname, value, py_type, value_code)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_37new_num_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_37new_num_const = {"new_num_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_37new_num_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_37new_num_const(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_py_type = 0;
  PyObject *__pyx_v_value_code = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_num_const (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_py_type,&__pyx_mstate_global->__pyx_n_u_value_code,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1824, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1824, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1824, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1824, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1824, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_num_const", 0) < (0)) __PYX_ERR(0, 1824, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("new_num_const", 0, 3, 4, i); __PYX_ERR(0, 1824, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1824, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1824, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1824, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1824, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_value = values[1];
    __pyx_v_py_type = values[2];
    __pyx_v_value_code = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_num_const", 0, 3, 4, __pyx_nargs); __PYX_ERR(0, 1824, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_num_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_36new_num_const(__pyx_self, __pyx_v_self, __pyx_v_value, __pyx_v_py_type, __pyx_v_value_code);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_36new_num_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value, PyObject *__pyx_v_py_type, PyObject *__pyx_v_value_code) {
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_num_const", 0);

  /* "Cython/Compiler/Code.py":1825
 * 
 *     def new_num_const(self, value, py_type, value_code=None):
 *         cname = self.new_num_const_cname(value, py_type)             # <<<<<<<<<<<<<<
 *         c = NumConst(cname, value, py_type, value_code)
 *         self.num_const_index[(value, py_type)] = c
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_value, __pyx_v_py_type};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_num_const_cname, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1826
 *     def new_num_const(self, value, py_type, value_code=None):
 *         cname = self.new_num_const_cname(value, py_type)
 *         c = NumConst(cname, value, py_type, value_code)             # <<<<<<<<<<<<<<
 *         self.num_const_index[(value, py_type)] = c
 *         return c
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_NumConst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_2, __pyx_v_cname, __pyx_v_value, __pyx_v_py_type, __pyx_v_value_code};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_3, (5-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_c = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1827
 *         cname = self.new_num_const_cname(value, py_type)
 *         c = NumConst(cname, value, py_type, value_code)
 *         self.num_const_index[(value, py_type)] = c             # <<<<<<<<<<<<<<
 *         return c
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_num_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_value) != (0)) __PYX_ERR(0, 1827, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_py_type);
  __Pyx_GIVEREF(__pyx_v_py_type);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_py_type) != (0)) __PYX_ERR(0, 1827, __pyx_L1_error);
  if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_t_4, __pyx_v_c) < 0))) __PYX_ERR(0, 1827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1828
 *         c = NumConst(cname, value, py_type, value_code)
 *         self.num_const_index[(value, py_type)] = c
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def new_string_const_cname(self, bytes_value):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_c);
  __pyx_r = __pyx_v_c;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1824
 *         return c
 * 
 *     def new_num_const(self, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         cname = self.new_num_const_cname(value, py_type)
 *         c = NumConst(cname, value, py_type, value_code)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_num_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1830
 *         return c
 * 
 *     def new_string_const_cname(self, bytes_value):             # <<<<<<<<<<<<<<
 *         # Create a new globally-unique nice name for a C string constant.
 *         value = bytes_value.decode('ASCII', 'ignore')
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_39new_string_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_39new_string_const_cname = {"new_string_const_cname", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_39new_string_const_cname, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_39new_string_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_bytes_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_string_const_cname (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_bytes_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1830, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_string_const_cname", 0) < (0)) __PYX_ERR(0, 1830, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("new_string_const_cname", 1, 2, 2, i); __PYX_ERR(0, 1830, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1830, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1830, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_bytes_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_string_const_cname", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1830, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_string_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_38new_string_const_cname(__pyx_self, __pyx_v_self, __pyx_v_bytes_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_38new_string_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_bytes_value) {
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_string_const_cname", 0);

  /* "Cython/Compiler/Code.py":1832
 *     def new_string_const_cname(self, bytes_value):
 *         # Create a new globally-unique nice name for a C string constant.
 *         value = bytes_value.decode('ASCII', 'ignore')             # <<<<<<<<<<<<<<
 *         return self.new_const_cname(value=value)
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bytes_value, __pyx_mstate_global->__pyx_n_u_decode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[10], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_value = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1833
 *         # Create a new globally-unique nice name for a C string constant.
 *         value = bytes_value.decode('ASCII', 'ignore')
 *         return self.new_const_cname(value=value)             # <<<<<<<<<<<<<<
 * 
 *     def unique_const_cname(self, format_str):  # type: (str) -> str
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_value, __pyx_v_value, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 1833, __pyx_L1_error)
    __pyx_t_2 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_new_const_cname, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1830
 *         return c
 * 
 *     def new_string_const_cname(self, bytes_value):             # <<<<<<<<<<<<<<
 *         # Create a new globally-unique nice name for a C string constant.
 *         value = bytes_value.decode('ASCII', 'ignore')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_string_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1835
 *         return self.new_const_cname(value=value)
 * 
 *     def unique_const_cname(self, format_str):  # type: (str) -> str             # <<<<<<<<<<<<<<
 *         used = self.const_cnames_used
 *         cname = value = format_str.format(sep='', counter='')
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_41unique_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_41unique_const_cname = {"unique_const_cname", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_41unique_const_cname, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_41unique_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_format_str = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("unique_const_cname (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_format_str,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1835, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "unique_const_cname", 0) < (0)) __PYX_ERR(0, 1835, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("unique_const_cname", 1, 2, 2, i); __PYX_ERR(0, 1835, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1835, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1835, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_format_str = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("unique_const_cname", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1835, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.unique_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_40unique_const_cname(__pyx_self, __pyx_v_self, __pyx_v_format_str);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_40unique_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_format_str) {
  PyObject *__pyx_v_used = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_v_counter = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("unique_const_cname", 0);

  /* "Cython/Compiler/Code.py":1836
 * 
 *     def unique_const_cname(self, format_str):  # type: (str) -> str
 *         used = self.const_cnames_used             # <<<<<<<<<<<<<<
 *         cname = value = format_str.format(sep='', counter='')
 *         while cname in used:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_cnames_used); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_used = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1837
 *     def unique_const_cname(self, format_str):  # type: (str) -> str
 *         used = self.const_cnames_used
 *         cname = value = format_str.format(sep='', counter='')             # <<<<<<<<<<<<<<
 *         while cname in used:
 *             counter = used[value] = used[value] + 1
*/
  __pyx_t_2 = __pyx_v_format_str;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_sep, __pyx_mstate_global->__pyx_kp_u__9, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 1837, __pyx_L1_error)
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_counter, __pyx_mstate_global->__pyx_kp_u__9, __pyx_t_4, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 1837, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_cname = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_value = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1838
 *         used = self.const_cnames_used
 *         cname = value = format_str.format(sep='', counter='')
 *         while cname in used:             # <<<<<<<<<<<<<<
 *             counter = used[value] = used[value] + 1
 *             cname = format_str.format(sep='_', counter=counter)
*/
  while (1) {
    __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_cname, __pyx_v_used, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 1838, __pyx_L1_error)
    if (!__pyx_t_5) break;

    /* "Cython/Compiler/Code.py":1839
 *         cname = value = format_str.format(sep='', counter='')
 *         while cname in used:
 *             counter = used[value] = used[value] + 1             # <<<<<<<<<<<<<<
 *             cname = format_str.format(sep='_', counter=counter)
 *         used[cname] = 1
*/
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_used, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_counter, __pyx_t_4);
    if (unlikely((PyObject_SetItem(__pyx_v_used, __pyx_v_value, __pyx_t_4) < 0))) __PYX_ERR(0, 1839, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1840
 *         while cname in used:
 *             counter = used[value] = used[value] + 1
 *             cname = format_str.format(sep='_', counter=counter)             # <<<<<<<<<<<<<<
 *         used[cname] = 1
 *         return cname
*/
    __pyx_t_1 = __pyx_v_format_str;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_1, NULL};
      __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1840, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_sep, __pyx_mstate_global->__pyx_n_u__26, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 1840, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_counter, __pyx_v_counter, __pyx_t_2, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 1840, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1840, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF_SET(__pyx_v_cname, __pyx_t_4);
    __pyx_t_4 = 0;
  }

  /* "Cython/Compiler/Code.py":1841
 *             counter = used[value] = used[value] + 1
 *             cname = format_str.format(sep='_', counter=counter)
 *         used[cname] = 1             # <<<<<<<<<<<<<<
 *         return cname
 * 
*/
  if (unlikely((PyObject_SetItem(__pyx_v_used, __pyx_v_cname, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(0, 1841, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1842
 *             cname = format_str.format(sep='_', counter=counter)
 *         used[cname] = 1
 *         return cname             # <<<<<<<<<<<<<<
 * 
 *     def new_num_const_cname(self, value, py_type):  # type: (str, str) -> str
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_cname);
  __pyx_r = __pyx_v_cname;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1835
 *         return self.new_const_cname(value=value)
 * 
 *     def unique_const_cname(self, format_str):  # type: (str) -> str             # <<<<<<<<<<<<<<
 *         used = self.const_cnames_used
 *         cname = value = format_str.format(sep='', counter='')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.unique_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_used);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_counter);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1844
 *         return cname
 * 
 *     def new_num_const_cname(self, value, py_type):  # type: (str, str) -> str             # <<<<<<<<<<<<<<
 *         if py_type == 'long':
 *             value += 'L'
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_43new_num_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_43new_num_const_cname = {"new_num_const_cname", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_43new_num_const_cname, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_43new_num_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_py_type = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_num_const_cname (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_value,&__pyx_mstate_global->__pyx_n_u_py_type,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1844, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_num_const_cname", 0) < (0)) __PYX_ERR(0, 1844, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("new_num_const_cname", 1, 3, 3, i); __PYX_ERR(0, 1844, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1844, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1844, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1844, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_value = values[1];
    __pyx_v_py_type = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_num_const_cname", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1844, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_num_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_42new_num_const_cname(__pyx_self, __pyx_v_self, __pyx_v_value, __pyx_v_py_type);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_42new_num_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value, PyObject *__pyx_v_py_type) {
  PyObject *__pyx_v_prefix = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_num_const_cname", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_INCREF(__pyx_v_py_type);

  /* "Cython/Compiler/Code.py":1845
 * 
 *     def new_num_const_cname(self, value, py_type):  # type: (str, str) -> str
 *         if py_type == 'long':             # <<<<<<<<<<<<<<
 *             value += 'L'
 *             py_type = 'int'
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_py_type, __pyx_mstate_global->__pyx_n_u_long, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1845, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1846
 *     def new_num_const_cname(self, value, py_type):  # type: (str, str) -> str
 *         if py_type == 'long':
 *             value += 'L'             # <<<<<<<<<<<<<<
 *             py_type = 'int'
 *         prefix = Naming.interned_prefixes[py_type]
*/
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_L); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1847
 *         if py_type == 'long':
 *             value += 'L'
 *             py_type = 'int'             # <<<<<<<<<<<<<<
 *         prefix = Naming.interned_prefixes[py_type]
 * 
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int);
    __Pyx_DECREF_SET(__pyx_v_py_type, __pyx_mstate_global->__pyx_n_u_int);

    /* "Cython/Compiler/Code.py":1845
 * 
 *     def new_num_const_cname(self, value, py_type):  # type: (str, str) -> str
 *         if py_type == 'long':             # <<<<<<<<<<<<<<
 *             value += 'L'
 *             py_type = 'int'
*/
  }

  /* "Cython/Compiler/Code.py":1848
 *             value += 'L'
 *             py_type = 'int'
 *         prefix = Naming.interned_prefixes[py_type]             # <<<<<<<<<<<<<<
 * 
 *         value = value.replace('.', '_').replace('+', '_').replace('-', 'neg_')
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_interned_prefixes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_py_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_prefix = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1850
 *         prefix = Naming.interned_prefixes[py_type]
 * 
 *         value = value.replace('.', '_').replace('+', '_').replace('-', 'neg_')             # <<<<<<<<<<<<<<
 *         if len(value) > 42:
 *             # update tests/run/large_integer_T5290.py in case the amount is changed
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[11], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[12], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[13], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1851
 * 
 *         value = value.replace('.', '_').replace('+', '_').replace('-', 'neg_')
 *         if len(value) > 42:             # <<<<<<<<<<<<<<
 *             # update tests/run/large_integer_T5290.py in case the amount is changed
 *             cname = self.unique_const_cname(
*/
  __pyx_t_4 = PyObject_Length(__pyx_v_value); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1851, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_4 > 42);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1853
 *         if len(value) > 42:
 *             # update tests/run/large_integer_T5290.py in case the amount is changed
 *             cname = self.unique_const_cname(             # <<<<<<<<<<<<<<
 *                 prefix + "large{counter}_" + value[:18] + "_xxx_" + value[-18:])
 *         else:
*/
    __pyx_t_3 = __pyx_v_self;
    __Pyx_INCREF(__pyx_t_3);

    /* "Cython/Compiler/Code.py":1854
 *             # update tests/run/large_integer_T5290.py in case the amount is changed
 *             cname = self.unique_const_cname(
 *                 prefix + "large{counter}_" + value[:18] + "_xxx_" + value[-18:])             # <<<<<<<<<<<<<<
 *         else:
 *             cname = "%s%s" % (prefix, value)
*/
    __pyx_t_5 = PyNumber_Add(__pyx_v_prefix, __pyx_mstate_global->__pyx_kp_u_large_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_value, 0, 18, NULL, NULL, &__pyx_mstate_global->__pyx_slice[2], 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = PyNumber_Add(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_xxx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetSlice(__pyx_v_value, -18L, 0, NULL, NULL, &__pyx_mstate_global->__pyx_slice[3], 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = PyNumber_Add(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_unique_const_cname, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_cname = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1851
 * 
 *         value = value.replace('.', '_').replace('+', '_').replace('-', 'neg_')
 *         if len(value) > 42:             # <<<<<<<<<<<<<<
 *             # update tests/run/large_integer_T5290.py in case the amount is changed
 *             cname = self.unique_const_cname(
*/
    goto __pyx_L4;
  }

  /* "Cython/Compiler/Code.py":1856
 *                 prefix + "large{counter}_" + value[:18] + "_xxx_" + value[-18:])
 *         else:
 *             cname = "%s%s" % (prefix, value)             # <<<<<<<<<<<<<<
 *         return cname
 * 
*/
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_prefix), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_value), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_cname = __pyx_t_3;
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "Cython/Compiler/Code.py":1857
 *         else:
 *             cname = "%s%s" % (prefix, value)
 *         return cname             # <<<<<<<<<<<<<<
 * 
 *     def new_const_cname(self, prefix='', value=''):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_cname);
  __pyx_r = __pyx_v_cname;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1844
 *         return cname
 * 
 *     def new_num_const_cname(self, value, py_type):  # type: (str, str) -> str             # <<<<<<<<<<<<<<
 *         if py_type == 'long':
 *             value += 'L'
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_num_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_py_type);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1859
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_45new_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_45new_const_cname = {"new_const_cname", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_45new_const_cname, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_45new_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_prefix = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_const_cname (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_prefix,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1859, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_const_cname", 0) < (0)) __PYX_ERR(0, 1859, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)__pyx_mstate_global->__pyx_kp_u__9)));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)__pyx_mstate_global->__pyx_kp_u__9)));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("new_const_cname", 0, 1, 3, i); __PYX_ERR(0, 1859, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1859, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)__pyx_mstate_global->__pyx_kp_u__9)));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)__pyx_mstate_global->__pyx_kp_u__9)));
    }
    __pyx_v_self = values[0];
    __pyx_v_prefix = values[1];
    __pyx_v_value = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_const_cname", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 1859, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_44new_const_cname(__pyx_self, __pyx_v_self, __pyx_v_prefix, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_44new_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_prefix, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_name_suffix = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_const_cname", 0);
  __Pyx_INCREF(__pyx_v_prefix);
  __Pyx_INCREF(__pyx_v_value);

  /* "Cython/Compiler/Code.py":1860
 * 
 *     def new_const_cname(self, prefix='', value=''):
 *         value = replace_identifier('_', value)[:32].strip('_')             # <<<<<<<<<<<<<<
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
 *         if prefix:
*/
  __pyx_t_4 = NULL;
  __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_replace_identifier);
  __pyx_t_5 = __pyx_v_6Cython_8Compiler_4Code_replace_identifier; 
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_n_u__26, __pyx_v_value};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 32, NULL, NULL, &__pyx_mstate_global->__pyx_slice[4], 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __pyx_t_5;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u__26};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1861
 *     def new_const_cname(self, prefix='', value=''):
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")             # <<<<<<<<<<<<<<
 *         if prefix:
 *             prefix = Naming.interned_prefixes[prefix]
*/
  __pyx_t_5 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_2 = PyNumber_Add(__pyx_v_value, __pyx_mstate_global->__pyx_kp_u_sep_counter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_unique_const_cname, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_name_suffix = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1862
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
 *         if prefix:             # <<<<<<<<<<<<<<
 *             prefix = Naming.interned_prefixes[prefix]
 *         else:
*/
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_prefix); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1862, __pyx_L1_error)
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":1863
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
 *         if prefix:
 *             prefix = Naming.interned_prefixes[prefix]             # <<<<<<<<<<<<<<
 *         else:
 *             prefix = Naming.const_prefix
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_interned_prefixes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_prefix, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1862
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
 *         if prefix:             # <<<<<<<<<<<<<<
 *             prefix = Naming.interned_prefixes[prefix]
 *         else:
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1865
 *             prefix = Naming.interned_prefixes[prefix]
 *         else:
 *             prefix = Naming.const_prefix             # <<<<<<<<<<<<<<
 *         return "%s%s" % (prefix, name_suffix)
 * 
*/
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_const_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_prefix, __pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1866
 *         else:
 *             prefix = Naming.const_prefix
 *         return "%s%s" % (prefix, name_suffix)             # <<<<<<<<<<<<<<
 * 
 *     def new_array_const_cname(self, prefix: str):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_prefix), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_name_suffix), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1859
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name_suffix);
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1868
 *         return "%s%s" % (prefix, name_suffix)
 * 
 *     def new_array_const_cname(self, prefix: str):             # <<<<<<<<<<<<<<
 *         count = self.const_array_counters.get(prefix, 0)
 *         self.const_array_counters[prefix] = count+1
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_47new_array_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_47new_array_const_cname = {"new_array_const_cname", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_47new_array_const_cname, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_47new_array_const_cname(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_prefix = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_array_const_cname (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_prefix,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1868, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1868, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1868, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_array_const_cname", 0) < (0)) __PYX_ERR(0, 1868, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("new_array_const_cname", 1, 2, 2, i); __PYX_ERR(0, 1868, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1868, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1868, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_prefix = ((PyObject*)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_array_const_cname", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1868, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_array_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_prefix), (&PyUnicode_Type), 0, "prefix", 2))) __PYX_ERR(0, 1868, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_46new_array_const_cname(__pyx_self, __pyx_v_self, __pyx_v_prefix);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_46new_array_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_prefix) {
  PyObject *__pyx_v_count = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5[5];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_array_const_cname", 0);

  /* "Cython/Compiler/Code.py":1869
 * 
 *     def new_array_const_cname(self, prefix: str):
 *         count = self.const_array_counters.get(prefix, 0)             # <<<<<<<<<<<<<<
 *         self.const_array_counters[prefix] = count+1
 *         return f"{Naming.pyrex_prefix}{prefix}[{count}]"
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_array_counters); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_prefix, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_count = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1870
 *     def new_array_const_cname(self, prefix: str):
 *         count = self.const_array_counters.get(prefix, 0)
 *         self.const_array_counters[prefix] = count+1             # <<<<<<<<<<<<<<
 *         return f"{Naming.pyrex_prefix}{prefix}[{count}]"
 * 
*/
  __pyx_t_1 = __Pyx_PyLong_AddObjC(__pyx_v_count, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_array_counters); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_v_prefix, __pyx_t_1) < 0))) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1871
 *         count = self.const_array_counters.get(prefix, 0)
 *         self.const_array_counters[prefix] = count+1
 *         return f"{Naming.pyrex_prefix}{prefix}[{count}]"             # <<<<<<<<<<<<<<
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_pyrex_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_count, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5[0] = __pyx_t_3;
  __pyx_t_5[1] = __pyx_v_prefix;
  __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__22;
  __pyx_t_5[3] = __pyx_t_1;
  __pyx_t_5[4] = __pyx_mstate_global->__pyx_kp_u__23;
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_prefix) + 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_prefix) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1868
 *         return "%s%s" % (prefix, name_suffix)
 * 
 *     def new_array_const_cname(self, prefix: str):             # <<<<<<<<<<<<<<
 *         count = self.const_array_counters.get(prefix, 0)
 *         self.const_array_counters[prefix] = count+1
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_array_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_count);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1873
 *         return f"{Naming.pyrex_prefix}{prefix}[{count}]"
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name):             # <<<<<<<<<<<<<<
 *         key = (type_cname, method_name)
 *         try:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_49get_cached_unbound_method(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_49get_cached_unbound_method = {"get_cached_unbound_method", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_49get_cached_unbound_method, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_49get_cached_unbound_method(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type_cname = 0;
  PyObject *__pyx_v_method_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_cached_unbound_method (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_type_cname,&__pyx_mstate_global->__pyx_n_u_method_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1873, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_cached_unbound_method", 0) < (0)) __PYX_ERR(0, 1873, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_cached_unbound_method", 1, 3, 3, i); __PYX_ERR(0, 1873, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1873, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1873, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1873, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_type_cname = values[1];
    __pyx_v_method_name = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_cached_unbound_method", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1873, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_cached_unbound_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_48get_cached_unbound_method(__pyx_self, __pyx_v_self, __pyx_v_type_cname, __pyx_v_method_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_48get_cached_unbound_method(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type_cname, PyObject *__pyx_v_method_name) {
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12[3];
  PyObject *__pyx_t_13 = NULL;
  size_t __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_cached_unbound_method", 0);

  /* "Cython/Compiler/Code.py":1874
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name):
 *         key = (type_cname, method_name)             # <<<<<<<<<<<<<<
 *         try:
 *             cname = self.cached_cmethods[key]
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_type_cname);
  __Pyx_GIVEREF(__pyx_v_type_cname);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_type_cname) != (0)) __PYX_ERR(0, 1874, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_method_name);
  __Pyx_GIVEREF(__pyx_v_method_name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_method_name) != (0)) __PYX_ERR(0, 1874, __pyx_L1_error);
  __pyx_v_key = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1875
 *     def get_cached_unbound_method(self, type_cname, method_name):
 *         key = (type_cname, method_name)
 *         try:             # <<<<<<<<<<<<<<
 *             cname = self.cached_cmethods[key]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":1876
 *         key = (type_cname, method_name)
 *         try:
 *             cname = self.cached_cmethods[key]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             cname = self.cached_cmethods[key] = self.new_const_cname(
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_cached_cmethods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1876, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1876, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_cname = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":1875
 *     def get_cached_unbound_method(self, type_cname, method_name):
 *         key = (type_cname, method_name)
 *         try:             # <<<<<<<<<<<<<<
 *             cname = self.cached_cmethods[key]
 *         except KeyError:
*/
    }
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1877
 *         try:
 *             cname = self.cached_cmethods[key]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             cname = self.cached_cmethods[key] = self.new_const_cname(
 *                 'umethod', '%s_%s' % (type_cname, method_name))
*/
    __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_6) {
      __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_cached_unbound_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 1877, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_7);

      /* "Cython/Compiler/Code.py":1878
 *             cname = self.cached_cmethods[key]
 *         except KeyError:
 *             cname = self.cached_cmethods[key] = self.new_const_cname(             # <<<<<<<<<<<<<<
 *                 'umethod', '%s_%s' % (type_cname, method_name))
 *         return cname
*/
      __pyx_t_9 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_9);

      /* "Cython/Compiler/Code.py":1879
 *         except KeyError:
 *             cname = self.cached_cmethods[key] = self.new_const_cname(
 *                 'umethod', '%s_%s' % (type_cname, method_name))             # <<<<<<<<<<<<<<
 *         return cname
 * 
*/
      __pyx_t_10 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_type_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1879, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_method_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1879, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12[0] = __pyx_t_10;
      __pyx_t_12[1] = __pyx_mstate_global->__pyx_n_u__26;
      __pyx_t_12[2] = __pyx_t_11;
      __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_12, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11));
      if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1879, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_14 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_mstate_global->__pyx_n_u_umethod, __pyx_t_13};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new_const_cname, __pyx_callargs+__pyx_t_14, (3-__pyx_t_14) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1878, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_8);

      /* "Cython/Compiler/Code.py":1878
 *             cname = self.cached_cmethods[key]
 *         except KeyError:
 *             cname = self.cached_cmethods[key] = self.new_const_cname(             # <<<<<<<<<<<<<<
 *                 'umethod', '%s_%s' % (type_cname, method_name))
 *         return cname
*/
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_cached_cmethods); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1878, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_13);
      if (unlikely((PyObject_SetItem(__pyx_t_13, __pyx_v_key, __pyx_t_8) < 0))) __PYX_ERR(0, 1878, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "Cython/Compiler/Code.py":1875
 *     def get_cached_unbound_method(self, type_cname, method_name):
 *         key = (type_cname, method_name)
 *         try:             # <<<<<<<<<<<<<<
 *             cname = self.cached_cmethods[key]
 *         except KeyError:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    __pyx_L8_try_end:;
  }

  /* "Cython/Compiler/Code.py":1880
 *             cname = self.cached_cmethods[key] = self.new_const_cname(
 *                 'umethod', '%s_%s' % (type_cname, method_name))
 *         return cname             # <<<<<<<<<<<<<<
 * 
 *     def cached_unbound_method_call_code(self, modulestate_cname, obj_cname, type_cname, method_name, arg_cnames):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_cname);
  __pyx_r = __pyx_v_cname;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1873
 *         return f"{Naming.pyrex_prefix}{prefix}[{count}]"
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name):             # <<<<<<<<<<<<<<
 *         key = (type_cname, method_name)
 *         try:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_cached_unbound_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1882
 *         return cname
 * 
 *     def cached_unbound_method_call_code(self, modulestate_cname, obj_cname, type_cname, method_name, arg_cnames):             # <<<<<<<<<<<<<<
 *         # admittedly, not the best place to put this method, but it is reused by UtilityCode and ExprNodes ...
 *         utility_code_name = "CallUnboundCMethod%d" % len(arg_cnames)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_51cached_unbound_method_call_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_51cached_unbound_method_call_code = {"cached_unbound_method_call_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_51cached_unbound_method_call_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_51cached_unbound_method_call_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_modulestate_cname = 0;
  PyObject *__pyx_v_obj_cname = 0;
  PyObject *__pyx_v_type_cname = 0;
  PyObject *__pyx_v_method_name = 0;
  PyObject *__pyx_v_arg_cnames = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cached_unbound_method_call_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_modulestate_cname,&__pyx_mstate_global->__pyx_n_u_obj_cname,&__pyx_mstate_global->__pyx_n_u_type_cname,&__pyx_mstate_global->__pyx_n_u_method_name,&__pyx_mstate_global->__pyx_n_u_arg_cnames,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1882, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 1882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cached_unbound_method_call_code", 0) < (0)) __PYX_ERR(0, 1882, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cached_unbound_method_call_code", 1, 6, 6, i); __PYX_ERR(0, 1882, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1882, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1882, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1882, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1882, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 1882, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 1882, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_modulestate_cname = values[1];
    __pyx_v_obj_cname = values[2];
    __pyx_v_type_cname = values[3];
    __pyx_v_method_name = values[4];
    __pyx_v_arg_cnames = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cached_unbound_method_call_code", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 1882, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.cached_unbound_method_call_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_50cached_unbound_method_call_code(__pyx_self, __pyx_v_self, __pyx_v_modulestate_cname, __pyx_v_obj_cname, __pyx_v_type_cname, __pyx_v_method_name, __pyx_v_arg_cnames);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_50cached_unbound_method_call_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modulestate_cname, PyObject *__pyx_v_obj_cname, PyObject *__pyx_v_type_cname, PyObject *__pyx_v_method_name, PyObject *__pyx_v_arg_cnames) {
  PyObject *__pyx_v_utility_code_name = NULL;
  PyObject *__pyx_v_cache_cname = NULL;
  PyObject *__pyx_v_args = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7[8];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cached_unbound_method_call_code", 0);

  /* "Cython/Compiler/Code.py":1884
 *     def cached_unbound_method_call_code(self, modulestate_cname, obj_cname, type_cname, method_name, arg_cnames):
 *         # admittedly, not the best place to put this method, but it is reused by UtilityCode and ExprNodes ...
 *         utility_code_name = "CallUnboundCMethod%d" % len(arg_cnames)             # <<<<<<<<<<<<<<
 *         self.use_utility_code(UtilityCode.load_cached(utility_code_name, "ObjectHandling.c"))
 *         cache_cname = self.get_cached_unbound_method(type_cname, method_name)
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_arg_cnames); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1884, __pyx_L1_error)
  __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_CallUnboundCMethod_d, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_utility_code_name = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1885
 *         # admittedly, not the best place to put this method, but it is reused by UtilityCode and ExprNodes ...
 *         utility_code_name = "CallUnboundCMethod%d" % len(arg_cnames)
 *         self.use_utility_code(UtilityCode.load_cached(utility_code_name, "ObjectHandling.c"))             # <<<<<<<<<<<<<<
 *         cache_cname = self.get_cached_unbound_method(type_cname, method_name)
 *         args = [obj_cname] + arg_cnames
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_5 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_utility_code_name, __pyx_mstate_global->__pyx_kp_u_ObjectHandling_c};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_load_cached, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1886
 *         utility_code_name = "CallUnboundCMethod%d" % len(arg_cnames)
 *         self.use_utility_code(UtilityCode.load_cached(utility_code_name, "ObjectHandling.c"))
 *         cache_cname = self.get_cached_unbound_method(type_cname, method_name)             # <<<<<<<<<<<<<<
 *         args = [obj_cname] + arg_cnames
 *         return "__Pyx_%s(&%s%s, %s)" % (
*/
  __pyx_t_4 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_type_cname, __pyx_v_method_name};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_cached_unbound_method, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_v_cache_cname = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1887
 *         self.use_utility_code(UtilityCode.load_cached(utility_code_name, "ObjectHandling.c"))
 *         cache_cname = self.get_cached_unbound_method(type_cname, method_name)
 *         args = [obj_cname] + arg_cnames             # <<<<<<<<<<<<<<
 *         return "__Pyx_%s(&%s%s, %s)" % (
 *             utility_code_name,
*/
  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_obj_cname);
  __Pyx_GIVEREF(__pyx_v_obj_cname);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_v_obj_cname) != (0)) __PYX_ERR(0, 1887, __pyx_L1_error);
  __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_v_arg_cnames); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_args = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1888
 *         cache_cname = self.get_cached_unbound_method(type_cname, method_name)
 *         args = [obj_cname] + arg_cnames
 *         return "__Pyx_%s(&%s%s, %s)" % (             # <<<<<<<<<<<<<<
 *             utility_code_name,
 *             modulestate_cname,
*/
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":1890
 *         return "__Pyx_%s(&%s%s, %s)" % (
 *             utility_code_name,
 *             modulestate_cname,             # <<<<<<<<<<<<<<
 *             cache_cname,
 *             ', '.join(args),
*/
  __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_modulestate_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "Cython/Compiler/Code.py":1891
 *             utility_code_name,
 *             modulestate_cname,
 *             cache_cname,             # <<<<<<<<<<<<<<
 *             ', '.join(args),
 *         )
*/
  __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cache_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "Cython/Compiler/Code.py":1892
 *             modulestate_cname,
 *             cache_cname,
 *             ', '.join(args),             # <<<<<<<<<<<<<<
 *         )
 * 
*/
  __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__39, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7[0] = __pyx_mstate_global->__pyx_n_u_Pyx;
  __pyx_t_7[1] = __pyx_v_utility_code_name;
  __pyx_t_7[2] = __pyx_mstate_global->__pyx_kp_u__46;
  __pyx_t_7[3] = __pyx_t_4;
  __pyx_t_7[4] = __pyx_t_3;
  __pyx_t_7[5] = __pyx_mstate_global->__pyx_kp_u__39;
  __pyx_t_7[6] = __pyx_t_2;
  __pyx_t_7[7] = __pyx_mstate_global->__pyx_kp_u__7;

  /* "Cython/Compiler/Code.py":1888
 *         cache_cname = self.get_cached_unbound_method(type_cname, method_name)
 *         args = [obj_cname] + arg_cnames
 *         return "__Pyx_%s(&%s%s, %s)" % (             # <<<<<<<<<<<<<<
 *             utility_code_name,
 *             modulestate_cname,
*/
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_7, 8, 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_utility_code_name) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_utility_code_name) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1882
 *         return cname
 * 
 *     def cached_unbound_method_call_code(self, modulestate_cname, obj_cname, type_cname, method_name, arg_cnames):             # <<<<<<<<<<<<<<
 *         # admittedly, not the best place to put this method, but it is reused by UtilityCode and ExprNodes ...
 *         utility_code_name = "CallUnboundCMethod%d" % len(arg_cnames)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.cached_unbound_method_call_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_utility_code_name);
  __Pyx_XDECREF(__pyx_v_cache_cname);
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1895
 *         )
 * 
 *     def add_cached_builtin_decl(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_53add_cached_builtin_decl(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_53add_cached_builtin_decl = {"add_cached_builtin_decl", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_53add_cached_builtin_decl, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_53add_cached_builtin_decl(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("add_cached_builtin_decl (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_entry,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1895, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "add_cached_builtin_decl", 0) < (0)) __PYX_ERR(0, 1895, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("add_cached_builtin_decl", 1, 2, 2, i); __PYX_ERR(0, 1895, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1895, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1895, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("add_cached_builtin_decl", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1895, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.add_cached_builtin_decl", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_52add_cached_builtin_decl(__pyx_self, __pyx_v_self, __pyx_v_entry);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_52add_cached_builtin_decl(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("add_cached_builtin_decl", 0);

  /* "Cython/Compiler/Code.py":1896
 * 
 *     def add_cached_builtin_decl(self, entry):
 *         if entry.is_builtin and entry.is_const:             # <<<<<<<<<<<<<<
 *             if self.should_declare(entry.cname, entry):
 *                 self.put_pyobject_decl(entry)
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_builtin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1897
 *     def add_cached_builtin_decl(self, entry):
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):             # <<<<<<<<<<<<<<
 *                 self.put_pyobject_decl(entry)
 *                 name = entry.name
*/
    __pyx_t_4 = __pyx_v_self;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_5, __pyx_v_entry};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_should_declare, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1897, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1897, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":1898
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):
 *                 self.put_pyobject_decl(entry)             # <<<<<<<<<<<<<<
 *                 name = entry.name
 *                 if name in renamed_py2_builtins_map:
*/
      __pyx_t_5 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_entry};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_pyobject_decl, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1898, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1899
 *             if self.should_declare(entry.cname, entry):
 *                 self.put_pyobject_decl(entry)
 *                 name = entry.name             # <<<<<<<<<<<<<<
 *                 if name in renamed_py2_builtins_map:
 *                     name = renamed_py2_builtins_map[name]
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1899, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_v_name = __pyx_t_2;
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1900
 *                 self.put_pyobject_decl(entry)
 *                 name = entry.name
 *                 if name in renamed_py2_builtins_map:             # <<<<<<<<<<<<<<
 *                     name = renamed_py2_builtins_map[name]
 *                 self.put_cached_builtin_init(
*/
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_renamed_py2_builtins_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1900, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1900, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":1901
 *                 name = entry.name
 *                 if name in renamed_py2_builtins_map:
 *                     name = renamed_py2_builtins_map[name]             # <<<<<<<<<<<<<<
 *                 self.put_cached_builtin_init(
 *                     entry.pos, StringEncoding.EncodedString(name),
*/
        __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_renamed_py2_builtins_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1901, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1901, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_5);
        __pyx_t_5 = 0;

        /* "Cython/Compiler/Code.py":1900
 *                 self.put_pyobject_decl(entry)
 *                 name = entry.name
 *                 if name in renamed_py2_builtins_map:             # <<<<<<<<<<<<<<
 *                     name = renamed_py2_builtins_map[name]
 *                 self.put_cached_builtin_init(
*/
      }

      /* "Cython/Compiler/Code.py":1902
 *                 if name in renamed_py2_builtins_map:
 *                     name = renamed_py2_builtins_map[name]
 *                 self.put_cached_builtin_init(             # <<<<<<<<<<<<<<
 *                     entry.pos, StringEncoding.EncodedString(name),
 *                     entry.cname)
*/
      __pyx_t_2 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_2);

      /* "Cython/Compiler/Code.py":1903
 *                     name = renamed_py2_builtins_map[name]
 *                 self.put_cached_builtin_init(
 *                     entry.pos, StringEncoding.EncodedString(name),             # <<<<<<<<<<<<<<
 *                     entry.cname)
 * 
*/
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_8 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_name};
        __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_EncodedString, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      }

      /* "Cython/Compiler/Code.py":1904
 *                 self.put_cached_builtin_init(
 *                     entry.pos, StringEncoding.EncodedString(name),
 *                     entry.cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1904, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_t_4, __pyx_t_7, __pyx_t_8};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_cached_builtin_init, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1902, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":1897
 *     def add_cached_builtin_decl(self, entry):
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):             # <<<<<<<<<<<<<<
 *                 self.put_pyobject_decl(entry)
 *                 name = entry.name
*/
    }

    /* "Cython/Compiler/Code.py":1896
 * 
 *     def add_cached_builtin_decl(self, entry):
 *         if entry.is_builtin and entry.is_const:             # <<<<<<<<<<<<<<
 *             if self.should_declare(entry.cname, entry):
 *                 self.put_pyobject_decl(entry)
*/
  }

  /* "Cython/Compiler/Code.py":1895
 *         )
 * 
 *     def add_cached_builtin_decl(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.add_cached_builtin_decl", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1906
 *                     entry.cname)
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):             # <<<<<<<<<<<<<<
 *         w = self.parts['cached_builtins']
 *         cname_in_modulestate = w.name_in_main_c_code_module_state(
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_55put_cached_builtin_init(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_55put_cached_builtin_init = {"put_cached_builtin_init", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_55put_cached_builtin_init, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_55put_cached_builtin_init(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_cname = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_cached_builtin_init (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_cname,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1906, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_cached_builtin_init", 0) < (0)) __PYX_ERR(0, 1906, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_cached_builtin_init", 1, 4, 4, i); __PYX_ERR(0, 1906, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1906, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1906, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1906, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1906, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
    __pyx_v_name = values[2];
    __pyx_v_cname = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_cached_builtin_init", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 1906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.put_cached_builtin_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_54put_cached_builtin_init(__pyx_self, __pyx_v_self, __pyx_v_pos, __pyx_v_name, __pyx_v_cname);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_54put_cached_builtin_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_name, PyObject *__pyx_v_cname) {
  PyObject *__pyx_v_w = NULL;
  PyObject *__pyx_v_cname_in_modulestate = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9[7];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("put_cached_builtin_init", 0);

  /* "Cython/Compiler/Code.py":1907
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):
 *         w = self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 *         cname_in_modulestate = w.name_in_main_c_code_module_state(
 *             self.get_interned_identifier(name).cname)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cached_builtins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_w = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1908
 *     def put_cached_builtin_init(self, pos, name, cname):
 *         w = self.parts['cached_builtins']
 *         cname_in_modulestate = w.name_in_main_c_code_module_state(             # <<<<<<<<<<<<<<
 *             self.get_interned_identifier(name).cname)
 *         self.use_utility_code(
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":1909
 *         w = self.parts['cached_builtins']
 *         cname_in_modulestate = w.name_in_main_c_code_module_state(
 *             self.get_interned_identifier(name).cname)             # <<<<<<<<<<<<<<
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
*/
  __pyx_t_4 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_name};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_interned_identifier, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_cname_in_modulestate = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1910
 *         cname_in_modulestate = w.name_in_main_c_code_module_state(
 *             self.get_interned_identifier(name).cname)
 *         self.use_utility_code(             # <<<<<<<<<<<<<<
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (
*/
  __pyx_t_4 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_4);

  /* "Cython/Compiler/Code.py":1911
 *             self.get_interned_identifier(name).cname)
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))             # <<<<<<<<<<<<<<
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (
 *             cname,
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[14], NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1912
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (             # <<<<<<<<<<<<<<
 *             cname,
 *             cname_in_modulestate,
*/
  __pyx_t_3 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_3);

  /* "Cython/Compiler/Code.py":1913
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (
 *             cname,             # <<<<<<<<<<<<<<
 *             cname_in_modulestate,
 *             cname,
*/
  __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "Cython/Compiler/Code.py":1914
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (
 *             cname,
 *             cname_in_modulestate,             # <<<<<<<<<<<<<<
 *             cname,
 *             w.error_goto(pos)))
*/
  __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cname_in_modulestate), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":1915
 *             cname,
 *             cname_in_modulestate,
 *             cname,             # <<<<<<<<<<<<<<
 *             w.error_goto(pos)))
 * 
*/
  __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "Cython/Compiler/Code.py":1916
 *             cname_in_modulestate,
 *             cname,
 *             w.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def generate_const_declarations(self):
*/
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_goto); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_8), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_9[0] = __pyx_t_4;
  __pyx_t_9[1] = __pyx_mstate_global->__pyx_kp_u_Pyx_GetBuiltinName;
  __pyx_t_9[2] = __pyx_t_1;
  __pyx_t_9[3] = __pyx_mstate_global->__pyx_kp_u_if;
  __pyx_t_9[4] = __pyx_t_6;
  __pyx_t_9[5] = __pyx_mstate_global->__pyx_kp_u__47;
  __pyx_t_9[6] = __pyx_t_7;

  /* "Cython/Compiler/Code.py":1912
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (             # <<<<<<<<<<<<<<
 *             cname,
 *             cname_in_modulestate,
*/
  __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_9, 7, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 24 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1906
 *                     entry.cname)
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):             # <<<<<<<<<<<<<<
 *         w = self.parts['cached_builtins']
 *         cname_in_modulestate = w.name_in_main_c_code_module_state(
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.put_cached_builtin_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_cname_in_modulestate);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1918
 *             w.error_goto(pos)))
 * 
 *     def generate_const_declarations(self):             # <<<<<<<<<<<<<<
 *         self.generate_cached_methods_decls()
 *         self.generate_object_constant_decls()
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_57generate_const_declarations(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_57generate_const_declarations = {"generate_const_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_57generate_const_declarations, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_57generate_const_declarations(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_const_declarations (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_56generate_const_declarations(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_56generate_const_declarations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_const_declarations", 0);

  /* "Cython/Compiler/Code.py":1919
 * 
 *     def generate_const_declarations(self):
 *         self.generate_cached_methods_decls()             # <<<<<<<<<<<<<<
 *         self.generate_object_constant_decls()
 *         self.generate_codeobject_constants()
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_cached_methods_decls, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1920
 *     def generate_const_declarations(self):
 *         self.generate_cached_methods_decls()
 *         self.generate_object_constant_decls()             # <<<<<<<<<<<<<<
 *         self.generate_codeobject_constants()
 *         # generate code for string and numeric constants as late as possible
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_object_constant_decls, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1920, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1921
 *         self.generate_cached_methods_decls()
 *         self.generate_object_constant_decls()
 *         self.generate_codeobject_constants()             # <<<<<<<<<<<<<<
 *         # generate code for string and numeric constants as late as possible
 *         # to allow new constants be to created by the earlier stages.
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_codeobject_constants, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1925
 *         # to allow new constants be to created by the earlier stages.
 *         # (although the constants themselves are written early)
 *         self.generate_string_constants()             # <<<<<<<<<<<<<<
 *         self.generate_num_constants()
 * 
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_string_constants, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1926
 *         # (although the constants themselves are written early)
 *         self.generate_string_constants()
 *         self.generate_num_constants()             # <<<<<<<<<<<<<<
 * 
 *     def _generate_module_array_traverse_and_clear(self, struct_attr_cname, count, may_have_refcycles=True):
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_num_constants, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1918
 *             w.error_goto(pos)))
 * 
 *     def generate_const_declarations(self):             # <<<<<<<<<<<<<<
 *         self.generate_cached_methods_decls()
 *         self.generate_object_constant_decls()
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_const_declarations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1928
 *         self.generate_num_constants()
 * 
 *     def _generate_module_array_traverse_and_clear(self, struct_attr_cname, count, may_have_refcycles=True):             # <<<<<<<<<<<<<<
 *         counter_type = 'int' if count < 2**15 else 'Py_ssize_t'
 *         visit_call = "Py_VISIT" if may_have_refcycles else "__Pyx_VISIT_CONST"
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_59_generate_module_array_traverse_and_clear(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_59_generate_module_array_traverse_and_clear = {"_generate_module_array_traverse_and_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_59_generate_module_array_traverse_and_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_59_generate_module_array_traverse_and_clear(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_struct_attr_cname = 0;
  PyObject *__pyx_v_count = 0;
  PyObject *__pyx_v_may_have_refcycles = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_generate_module_array_traverse_and_clear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_struct_attr_cname,&__pyx_mstate_global->__pyx_n_u_count,&__pyx_mstate_global->__pyx_n_u_may_have_refcycles,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 1928, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1928, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1928, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1928, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1928, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_generate_module_array_traverse_and_clear", 0) < (0)) __PYX_ERR(0, 1928, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_generate_module_array_traverse_and_clear", 0, 3, 4, i); __PYX_ERR(0, 1928, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 1928, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 1928, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 1928, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 1928, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
    }
    __pyx_v_self = values[0];
    __pyx_v_struct_attr_cname = values[1];
    __pyx_v_count = values[2];
    __pyx_v_may_have_refcycles = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_generate_module_array_traverse_and_clear", 0, 3, 4, __pyx_nargs); __PYX_ERR(0, 1928, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState._generate_module_array_traverse_and_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_58_generate_module_array_traverse_and_clear(__pyx_self, __pyx_v_self, __pyx_v_struct_attr_cname, __pyx_v_count, __pyx_v_may_have_refcycles);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_58_generate_module_array_traverse_and_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_struct_attr_cname, PyObject *__pyx_v_count, PyObject *__pyx_v_may_have_refcycles) {
  PyObject *__pyx_v_counter_type = NULL;
  PyObject *__pyx_v_visit_call = NULL;
  PyObject *__pyx_v_writer = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8[9];
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  PyObject *__pyx_t_11[7];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_generate_module_array_traverse_and_clear", 0);

  /* "Cython/Compiler/Code.py":1929
 * 
 *     def _generate_module_array_traverse_and_clear(self, struct_attr_cname, count, may_have_refcycles=True):
 *         counter_type = 'int' if count < 2**15 else 'Py_ssize_t'             # <<<<<<<<<<<<<<
 *         visit_call = "Py_VISIT" if may_have_refcycles else "__Pyx_VISIT_CONST"
 * 
*/
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_count, __pyx_mstate_global->__pyx_int_32768, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1929, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_int;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_ssize_t);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Py_ssize_t;
  }
  __pyx_v_counter_type = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1930
 *     def _generate_module_array_traverse_and_clear(self, struct_attr_cname, count, may_have_refcycles=True):
 *         counter_type = 'int' if count < 2**15 else 'Py_ssize_t'
 *         visit_call = "Py_VISIT" if may_have_refcycles else "__Pyx_VISIT_CONST"             # <<<<<<<<<<<<<<
 * 
 *         writer = self.parts['module_state_traverse']
*/
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_may_have_refcycles); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1930, __pyx_L1_error)
  if (__pyx_t_3) {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_VISIT);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Py_VISIT;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_VISIT_CONST);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Pyx_VISIT_CONST;
  }
  __pyx_v_visit_call = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1932
 *         visit_call = "Py_VISIT" if may_have_refcycles else "__Pyx_VISIT_CONST"
 * 
 *         writer = self.parts['module_state_traverse']             # <<<<<<<<<<<<<<
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ {visit_call}(traverse_module_state->{struct_attr_cname}[i]); }}")
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_module_state_traverse); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_writer = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1933
 * 
 *         writer = self.parts['module_state_traverse']
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ {visit_call}(traverse_module_state->{struct_attr_cname}[i]); }}")             # <<<<<<<<<<<<<<
 * 
 *         writer = self.parts['module_state_clear']
*/
  __pyx_t_1 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyUnicode_Unicode(__pyx_v_counter_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_count, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyUnicode_Unicode(__pyx_v_visit_call); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_struct_attr_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8[0] = __pyx_mstate_global->__pyx_kp_u_for;
  __pyx_t_8[1] = __pyx_t_4;
  __pyx_t_8[2] = __pyx_mstate_global->__pyx_kp_u_i_0_i;
  __pyx_t_8[3] = __pyx_t_5;
  __pyx_t_8[4] = __pyx_mstate_global->__pyx_kp_u_i;
  __pyx_t_8[5] = __pyx_t_6;
  __pyx_t_8[6] = __pyx_mstate_global->__pyx_kp_u_traverse_module_state;
  __pyx_t_8[7] = __pyx_t_7;
  __pyx_t_8[8] = __pyx_mstate_global->__pyx_kp_u_i_2;
  __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_8, 9, 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 9 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 24 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 7, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
  if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_9};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1935
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ {visit_call}(traverse_module_state->{struct_attr_cname}[i]); }}")
 * 
 *         writer = self.parts['module_state_clear']             # <<<<<<<<<<<<<<
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ Py_CLEAR(clear_module_state->{struct_attr_cname}[i]); }}")
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_module_state_clear); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF_SET(__pyx_v_writer, __pyx_t_9);
  __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1936
 * 
 *         writer = self.parts['module_state_clear']
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ Py_CLEAR(clear_module_state->{struct_attr_cname}[i]); }}")             # <<<<<<<<<<<<<<
 * 
 *     def generate_object_constant_decls(self):
*/
  __pyx_t_2 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_v_counter_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_count, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_struct_attr_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_for;
  __pyx_t_11[1] = __pyx_t_1;
  __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u_i_0_i;
  __pyx_t_11[3] = __pyx_t_7;
  __pyx_t_11[4] = __pyx_mstate_global->__pyx_kp_u_i_Py_CLEAR_clear_module_state;
  __pyx_t_11[5] = __pyx_t_6;
  __pyx_t_11[6] = __pyx_mstate_global->__pyx_kp_u_i_2;
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_11, 7, 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 38 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 7, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
  }
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1928
 *         self.generate_num_constants()
 * 
 *     def _generate_module_array_traverse_and_clear(self, struct_attr_cname, count, may_have_refcycles=True):             # <<<<<<<<<<<<<<
 *         counter_type = 'int' if count < 2**15 else 'Py_ssize_t'
 *         visit_call = "Py_VISIT" if may_have_refcycles else "__Pyx_VISIT_CONST"
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState._generate_module_array_traverse_and_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_counter_type);
  __Pyx_XDECREF(__pyx_v_visit_call);
  __Pyx_XDECREF(__pyx_v_writer);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1938
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ Py_CLEAR(clear_module_state->{struct_attr_cname}[i]); }}")
 * 
 *     def generate_object_constant_decls(self):             # <<<<<<<<<<<<<<
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.arg_default_constants]
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_61generate_object_constant_decls(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_61generate_object_constant_decls = {"generate_object_constant_decls", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_61generate_object_constant_decls, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_61generate_object_constant_decls(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_object_constant_decls (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_60generate_object_constant_decls(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_60generate_object_constant_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_consts = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_v_prefix = NULL;
  PyObject *__pyx_v_count = NULL;
  PyObject *__pyx_v_struct_attr_cname = NULL;
  PyObject *__pyx_v_cleanup_level = NULL;
  PyObject *__pyx_v_part_writer = NULL;
  PyObject *__pyx_9genexpr10__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  size_t __pyx_t_13;
  int __pyx_t_14;
  int __pyx_t_15;
  PyObject *__pyx_t_16[3];
  PyObject *__pyx_t_17[5];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_object_constant_decls", 0);

  /* "Cython/Compiler/Code.py":1939
 * 
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)             # <<<<<<<<<<<<<<
 *                   for c in self.arg_default_constants]
 *         consts.sort()
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1939, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1940
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.arg_default_constants]             # <<<<<<<<<<<<<<
 *         consts.sort()
 *         for _, cname, c in consts:
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_arg_default_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1940, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
      __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1940, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1940, __pyx_L5_error)
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1940, __pyx_L5_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_4;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1940, __pyx_L5_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4));
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4);
          #endif
          ++__pyx_t_4;
        }
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1940, __pyx_L5_error)
      } else {
        __pyx_t_2 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_2)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 1940, __pyx_L5_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_9genexpr10__pyx_v_c, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1939
 * 
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)             # <<<<<<<<<<<<<<
 *                   for c in self.arg_default_constants]
 *         consts.sort()
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr10__pyx_v_c, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1939, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1939, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1939, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr10__pyx_v_c, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1939, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1939, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_2);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 1939, __pyx_L5_error);
      __Pyx_GIVEREF(__pyx_t_7);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 1939, __pyx_L5_error);
      __Pyx_INCREF(__pyx_9genexpr10__pyx_v_c);
      __Pyx_GIVEREF(__pyx_9genexpr10__pyx_v_c);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_9genexpr10__pyx_v_c) != (0)) __PYX_ERR(0, 1939, __pyx_L5_error);
      __pyx_t_2 = 0;
      __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 1939, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":1940
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.arg_default_constants]             # <<<<<<<<<<<<<<
 *         consts.sort()
 *         for _, cname, c in consts:
*/
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_c); __pyx_9genexpr10__pyx_v_c = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_c); __pyx_9genexpr10__pyx_v_c = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_v_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1941
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.arg_default_constants]
 *         consts.sort()             # <<<<<<<<<<<<<<
 *         for _, cname, c in consts:
 *             self.parts['module_state'].putln("%s;" % c.type.declaration_code(cname))
*/
  __pyx_t_9 = PyList_Sort(__pyx_v_consts); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 1941, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1942
 *                   for c in self.arg_default_constants]
 *         consts.sort()
 *         for _, cname, c in consts:             # <<<<<<<<<<<<<<
 *             self.parts['module_state'].putln("%s;" % c.type.declaration_code(cname))
 *             if not c.type.needs_refcounting:
*/
  __pyx_t_1 = __pyx_v_consts; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1942, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
      PyObject* sequence = __pyx_t_3;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1942, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_8);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_7);
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_2);
      } else {
        __pyx_t_8 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1942, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1942, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1942, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
      }
      #else
      __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1942, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1942, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1942, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      #endif
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1942, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10);
      index = 0; __pyx_t_8 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_8)) goto __pyx_L12_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_8);
      index = 1; __pyx_t_7 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_7)) goto __pyx_L12_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      index = 2; __pyx_t_2 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_2)) goto __pyx_L12_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 3) < (0)) __PYX_ERR(0, 1942, __pyx_L1_error)
      __pyx_t_11 = NULL;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      goto __pyx_L13_unpacking_done;
      __pyx_L12_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_11 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1942, __pyx_L1_error)
      __pyx_L13_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v__, __pyx_t_8);
    __pyx_t_8 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1943
 *         consts.sort()
 *         for _, cname, c in consts:
 *             self.parts['module_state'].putln("%s;" % c.type.declaration_code(cname))             # <<<<<<<<<<<<<<
 *             if not c.type.needs_refcounting:
 *                 # Note that py_constants is used for all argument defaults
*/
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_module_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_2 = __pyx_t_8;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_10 = __pyx_t_12;
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_13 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_cname};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_declaration_code, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1943, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_12 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_6, __pyx_t_7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_13 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_12};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1943, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1944
 *         for _, cname, c in consts:
 *             self.parts['module_state'].putln("%s;" % c.type.declaration_code(cname))
 *             if not c.type.needs_refcounting:             # <<<<<<<<<<<<<<
 *                 # Note that py_constants is used for all argument defaults
 *                 # which aren't necessarily PyObjects, so aren't appropriate
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_needs_refcounting); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1944, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_15 = (!__pyx_t_14);
    if (__pyx_t_15) {

      /* "Cython/Compiler/Code.py":1948
 *                 # which aren't necessarily PyObjects, so aren't appropriate
 *                 # to clear.
 *                 continue             # <<<<<<<<<<<<<<
 * 
 *             self.parts['module_state_clear'].put_xdecref_clear(
*/
      goto __pyx_L10_continue;

      /* "Cython/Compiler/Code.py":1944
 *         for _, cname, c in consts:
 *             self.parts['module_state'].putln("%s;" % c.type.declaration_code(cname))
 *             if not c.type.needs_refcounting:             # <<<<<<<<<<<<<<
 *                 # Note that py_constants is used for all argument defaults
 *                 # which aren't necessarily PyObjects, so aren't appropriate
*/
    }

    /* "Cython/Compiler/Code.py":1950
 *                 continue
 * 
 *             self.parts['module_state_clear'].put_xdecref_clear(             # <<<<<<<<<<<<<<
 *                 f"clear_module_state->{cname}",
 *                 c.type,
*/
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_module_state_clear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_3 = __pyx_t_2;
    __Pyx_INCREF(__pyx_t_3);

    /* "Cython/Compiler/Code.py":1951
 * 
 *             self.parts['module_state_clear'].put_xdecref_clear(
 *                 f"clear_module_state->{cname}",             # <<<<<<<<<<<<<<
 *                 c.type,
 *                 clear_before_decref=True,
*/
    __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_clear_module_state, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

    /* "Cython/Compiler/Code.py":1952
 *             self.parts['module_state_clear'].put_xdecref_clear(
 *                 f"clear_module_state->{cname}",
 *                 c.type,             # <<<<<<<<<<<<<<
 *                 clear_before_decref=True,
 *                 nanny=False,
*/
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);

    /* "Cython/Compiler/Code.py":1954
 *                 c.type,
 *                 clear_before_decref=True,
 *                 nanny=False,             # <<<<<<<<<<<<<<
 *             )
 * 
*/
    __pyx_t_13 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, __pyx_t_7, __pyx_t_12};
      __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_clear_before_decref, Py_True, __pyx_t_10, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 1950, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_nanny, Py_False, __pyx_t_10, __pyx_callargs+3, 1) < (0)) __PYX_ERR(0, 1950, __pyx_L1_error)
      __pyx_t_8 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_put_xdecref_clear, __pyx_callargs+__pyx_t_13, (3-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1957
 *             )
 * 
 *             if c.type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *                 # TODO: Implement specific to type like CodeWriter.put_xdecref_clear()
 *                 cname += "->memview"
*/
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_is_memoryviewslice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 1957, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_15) {

      /* "Cython/Compiler/Code.py":1959
 *             if c.type.is_memoryviewslice:
 *                 # TODO: Implement specific to type like CodeWriter.put_xdecref_clear()
 *                 cname += "->memview"             # <<<<<<<<<<<<<<
 * 
 *             self.parts['module_state_traverse'].putln(
*/
      __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_cname, __pyx_mstate_global->__pyx_kp_u_memview); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1959, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF_SET(__pyx_v_cname, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1957
 *             )
 * 
 *             if c.type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *                 # TODO: Implement specific to type like CodeWriter.put_xdecref_clear()
 *                 cname += "->memview"
*/
    }

    /* "Cython/Compiler/Code.py":1961
 *                 cname += "->memview"
 * 
 *             self.parts['module_state_traverse'].putln(             # <<<<<<<<<<<<<<
 *                 f"Py_VISIT(traverse_module_state->{cname});")
 * 
*/
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_12 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_module_state_traverse); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_8 = __pyx_t_12;
    __Pyx_INCREF(__pyx_t_8);

    /* "Cython/Compiler/Code.py":1962
 * 
 *             self.parts['module_state_traverse'].putln(
 *                 f"Py_VISIT(traverse_module_state->{cname});")             # <<<<<<<<<<<<<<
 * 
 *         for prefix, count in sorted(self.const_array_counters.items()):
*/
    __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_Py_VISIT_traverse_module_state;
    __pyx_t_16[1] = __pyx_t_10;
    __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_16, 3, 32 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10));
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_13 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1961, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1942
 *                   for c in self.arg_default_constants]
 *         consts.sort()
 *         for _, cname, c in consts:             # <<<<<<<<<<<<<<
 *             self.parts['module_state'].putln("%s;" % c.type.declaration_code(cname))
 *             if not c.type.needs_refcounting:
*/
    __pyx_L10_continue:;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1964
 *                 f"Py_VISIT(traverse_module_state->{cname});")
 * 
 *         for prefix, count in sorted(self.const_array_counters.items()):             # <<<<<<<<<<<<<<
 *             struct_attr_cname = f"{Naming.pyrex_prefix}{prefix}"
 *             self.parts['module_state'].putln(f"PyObject *{struct_attr_cname}[{count}];")
*/
  __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_const_array_counters); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_2 = __pyx_t_12;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_13 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_items, __pyx_callargs+__pyx_t_13, (1-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_12 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely((PyList_Sort(__pyx_t_12) < 0))) __PYX_ERR(0, 1964, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_12; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1964, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    __pyx_t_12 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    if ((likely(PyTuple_CheckExact(__pyx_t_12))) || (PyList_CheckExact(__pyx_t_12))) {
      PyObject* sequence = __pyx_t_12;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1964, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_7);
      } else {
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1964, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1964, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
      }
      #else
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1964, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1964, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_8 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1964, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
      index = 0; __pyx_t_2 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_2)) goto __pyx_L19_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_7 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L19_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_8), 2) < (0)) __PYX_ERR(0, 1964, __pyx_L1_error)
      __pyx_t_11 = NULL;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L20_unpacking_done;
      __pyx_L19_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_11 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1964, __pyx_L1_error)
      __pyx_L20_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_XDECREF_SET(__pyx_v_count, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1965
 * 
 *         for prefix, count in sorted(self.const_array_counters.items()):
 *             struct_attr_cname = f"{Naming.pyrex_prefix}{prefix}"             # <<<<<<<<<<<<<<
 *             self.parts['module_state'].putln(f"PyObject *{struct_attr_cname}[{count}];")
 * 
*/
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_pyrex_prefix); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_12, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_v_prefix, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_XDECREF_SET(__pyx_v_struct_attr_cname, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1966
 *         for prefix, count in sorted(self.const_array_counters.items()):
 *             struct_attr_cname = f"{Naming.pyrex_prefix}{prefix}"
 *             self.parts['module_state'].putln(f"PyObject *{struct_attr_cname}[{count}];")             # <<<<<<<<<<<<<<
 * 
 *             # The constant tuples/slices that we create can never participate in reference cycles.
*/
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_module_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_12 = __pyx_t_8;
    __Pyx_INCREF(__pyx_t_12);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_count, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_17[0] = __pyx_mstate_global->__pyx_kp_u_PyObject;
    __pyx_t_17[1] = __pyx_v_struct_attr_cname;
    __pyx_t_17[2] = __pyx_mstate_global->__pyx_kp_u__22;
    __pyx_t_17[3] = __pyx_t_7;
    __pyx_t_17[4] = __pyx_mstate_global->__pyx_kp_u__48;
    __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_17, 5, 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_struct_attr_cname) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_struct_attr_cname) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_13 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_10};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1966, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1969
 * 
 *             # The constant tuples/slices that we create can never participate in reference cycles.
 *             self._generate_module_array_traverse_and_clear(struct_attr_cname, count, may_have_refcycles=False)             # <<<<<<<<<<<<<<
 * 
 *             cleanup_level = cleanup_level_for_type_prefix(prefix)
*/
    __pyx_t_8 = __pyx_v_self;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_13 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, __pyx_v_struct_attr_cname, __pyx_v_count};
      __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1969, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_may_have_refcycles, Py_False, __pyx_t_10, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 1969, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_module_array_traverse, __pyx_callargs+__pyx_t_13, (3-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1969, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1971
 *             self._generate_module_array_traverse_and_clear(struct_attr_cname, count, may_have_refcycles=False)
 * 
 *             cleanup_level = cleanup_level_for_type_prefix(prefix)             # <<<<<<<<<<<<<<
 *             if cleanup_level is not None and cleanup_level <= Options.generate_cleanup_code:
 *                 part_writer = self.parts['cleanup_globals']
*/
    __pyx_t_10 = NULL;
    __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_cleanup_level_for_type_prefix);
    __pyx_t_8 = __pyx_v_6Cython_8Compiler_4Code_cleanup_level_for_type_prefix; 
    __pyx_t_13 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_10);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_13 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_prefix};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1971, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_cleanup_level, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1972
 * 
 *             cleanup_level = cleanup_level_for_type_prefix(prefix)
 *             if cleanup_level is not None and cleanup_level <= Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *                 part_writer = self.parts['cleanup_globals']
 *                 part_writer.put(f"for (size_t i=0; i<{count}; ++i) ")
*/
    __pyx_t_14 = (__pyx_v_cleanup_level != Py_None);
    if (__pyx_t_14) {
    } else {
      __pyx_t_15 = __pyx_t_14;
      goto __pyx_L22_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_generate_cleanup_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = PyObject_RichCompare(__pyx_v_cleanup_level, __pyx_t_2, Py_LE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1972, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 1972, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_15 = __pyx_t_14;
    __pyx_L22_bool_binop_done:;
    if (__pyx_t_15) {

      /* "Cython/Compiler/Code.py":1973
 *             cleanup_level = cleanup_level_for_type_prefix(prefix)
 *             if cleanup_level is not None and cleanup_level <= Options.generate_cleanup_code:
 *                 part_writer = self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *                 part_writer.put(f"for (size_t i=0; i<{count}; ++i) ")
 *                 part_writer.putln(
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1973, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_cleanup_globals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1973, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF_SET(__pyx_v_part_writer, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1974
 *             if cleanup_level is not None and cleanup_level <= Options.generate_cleanup_code:
 *                 part_writer = self.parts['cleanup_globals']
 *                 part_writer.put(f"for (size_t i=0; i<{count}; ++i) ")             # <<<<<<<<<<<<<<
 *                 part_writer.putln(
 *                     "{ Py_CLEAR(%s); }" %
*/
      __pyx_t_8 = __pyx_v_part_writer;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_v_count, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1974, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_for_size_t_i_0_i;
      __pyx_t_16[1] = __pyx_t_10;
      __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u_i_3;
      __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_16, 3, 19 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10) + 7, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10));
      if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1974, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_13 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_12};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1974, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1975
 *                 part_writer = self.parts['cleanup_globals']
 *                 part_writer.put(f"for (size_t i=0; i<{count}; ++i) ")
 *                 part_writer.putln(             # <<<<<<<<<<<<<<
 *                     "{ Py_CLEAR(%s); }" %
 *                         part_writer.name_in_main_c_code_module_state(f"{struct_attr_cname}[i]")
*/
      __pyx_t_12 = __pyx_v_part_writer;
      __Pyx_INCREF(__pyx_t_12);

      /* "Cython/Compiler/Code.py":1977
 *                 part_writer.putln(
 *                     "{ Py_CLEAR(%s); }" %
 *                         part_writer.name_in_main_c_code_module_state(f"{struct_attr_cname}[i]")             # <<<<<<<<<<<<<<
 *                 )
 * 
*/
      __pyx_t_10 = __pyx_v_part_writer;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_v_struct_attr_cname, __pyx_mstate_global->__pyx_kp_u_i_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_13 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_7};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1977, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }

      /* "Cython/Compiler/Code.py":1976
 *                 part_writer.put(f"for (size_t i=0; i<{count}; ++i) ")
 *                 part_writer.putln(
 *                     "{ Py_CLEAR(%s); }" %             # <<<<<<<<<<<<<<
 *                         part_writer.name_in_main_c_code_module_state(f"{struct_attr_cname}[i]")
 *                 )
*/
      __pyx_t_7 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Py_CLEAR_s, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1976, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_13 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_7};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1975, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1972
 * 
 *             cleanup_level = cleanup_level_for_type_prefix(prefix)
 *             if cleanup_level is not None and cleanup_level <= Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *                 part_writer = self.parts['cleanup_globals']
 *                 part_writer.put(f"for (size_t i=0; i<{count}; ++i) ")
*/
    }

    /* "Cython/Compiler/Code.py":1964
 *                 f"Py_VISIT(traverse_module_state->{cname});")
 * 
 *         for prefix, count in sorted(self.const_array_counters.items()):             # <<<<<<<<<<<<<<
 *             struct_attr_cname = f"{Naming.pyrex_prefix}{prefix}"
 *             self.parts['module_state'].putln(f"PyObject *{struct_attr_cname}[{count}];")
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1938
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ Py_CLEAR(clear_module_state->{struct_attr_cname}[i]); }}")
 * 
 *     def generate_object_constant_decls(self):             # <<<<<<<<<<<<<<
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.arg_default_constants]
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_object_constant_decls", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_consts);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XDECREF(__pyx_v_count);
  __Pyx_XDECREF(__pyx_v_struct_attr_cname);
  __Pyx_XDECREF(__pyx_v_cleanup_level);
  __Pyx_XDECREF(__pyx_v_part_writer);
  __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1980
 *                 )
 * 
 *     def generate_cached_methods_decls(self):             # <<<<<<<<<<<<<<
 *         if not self.cached_cmethods:
 *             return
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_63generate_cached_methods_decls(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_63generate_cached_methods_decls = {"generate_cached_methods_decls", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_63generate_cached_methods_decls, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_63generate_cached_methods_decls(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_cached_methods_decls (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_62generate_cached_methods_decls(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_62generate_cached_methods_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_decl = NULL;
  PyObject *__pyx_v_init = NULL;
  PyObject *__pyx_v_cnames = NULL;
  PyObject *__pyx_v_type_cname = NULL;
  PyObject *__pyx_v_method_name = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_method_name_cname = NULL;
  PyObject *__pyx_v_cleanup = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *(*__pyx_t_10)(PyObject *);
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  PyObject *__pyx_t_14[4];
  PyObject *__pyx_t_15[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_cached_methods_decls", 0);

  /* "Cython/Compiler/Code.py":1981
 * 
 *     def generate_cached_methods_decls(self):
 *         if not self.cached_cmethods:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_cached_cmethods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1982
 *     def generate_cached_methods_decls(self):
 *         if not self.cached_cmethods:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         decl = self.parts['module_state']
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1981
 * 
 *     def generate_cached_methods_decls(self):
 *         if not self.cached_cmethods:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  }

  /* "Cython/Compiler/Code.py":1984
 *             return
 * 
 *         decl = self.parts['module_state']             # <<<<<<<<<<<<<<
 *         init = self.parts['cached_builtins']
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_module_state); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_decl = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1985
 * 
 *         decl = self.parts['module_state']
 *         init = self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 * 
 *         init.putln("")
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_cached_builtins); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_init = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1987
 *         init = self.parts['cached_builtins']
 * 
 *         init.putln("")             # <<<<<<<<<<<<<<
 *         init.putln("/[inserted by cython to avoid comment start]* Cached unbound methods *[inserted by cython to avoid comment closer]/")
 * 
*/
  __pyx_t_4 = __pyx_v_init;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1988
 * 
 *         init.putln("")
 *         init.putln("/[inserted by cython to avoid comment start]* Cached unbound methods *[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 * 
 *         cnames = []
*/
  __pyx_t_4 = __pyx_v_init;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Cached_unbound_methods};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1990
 *         init.putln("/[inserted by cython to avoid comment start]* Cached unbound methods *[inserted by cython to avoid comment closer]/")
 * 
 *         cnames = []             # <<<<<<<<<<<<<<
 *         for (type_cname, method_name), cname in sorted(self.cached_cmethods.items()):
 *             cnames.append(cname)
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cnames = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1991
 * 
 *         cnames = []
 *         for (type_cname, method_name), cname in sorted(self.cached_cmethods.items()):             # <<<<<<<<<<<<<<
 *             cnames.append(cname)
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
*/
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_cached_cmethods); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __pyx_t_6;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_items, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely((PyList_Sort(__pyx_t_6) < 0))) __PYX_ERR(0, 1991, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 1991, __pyx_L1_error)
      #endif
      if (__pyx_t_7 >= __pyx_temp) break;
    }
    __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_7;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
      PyObject* sequence = __pyx_t_6;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1991, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_4);
        __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_8);
      } else {
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1991, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_4);
        __pyx_t_8 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1991, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_8);
      }
      #else
      __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      #endif
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9);
      index = 0; __pyx_t_4 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_4);
      index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_8);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < (0)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __pyx_t_10 = NULL;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L7_unpacking_done;
      __pyx_L6_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_10 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1991, __pyx_L1_error)
      __pyx_L7_unpacking_done:;
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1991, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_9);
        __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_11);
      } else {
        __pyx_t_9 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1991, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1991, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_11);
      }
      #else
      __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      #endif
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
      index = 0; __pyx_t_9 = __pyx_t_10(__pyx_t_12); if (unlikely(!__pyx_t_9)) goto __pyx_L8_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_9);
      index = 1; __pyx_t_11 = __pyx_t_10(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L8_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_11);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 1991, __pyx_L1_error)
      __pyx_t_10 = NULL;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      goto __pyx_L9_unpacking_done;
      __pyx_L8_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_10 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1991, __pyx_L1_error)
      __pyx_L9_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_type_cname, __pyx_t_9);
    __pyx_t_9 = 0;
    __Pyx_XDECREF_SET(__pyx_v_method_name, __pyx_t_11);
    __pyx_t_11 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_8);
    __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1992
 *         cnames = []
 *         for (type_cname, method_name), cname in sorted(self.cached_cmethods.items()):
 *             cnames.append(cname)             # <<<<<<<<<<<<<<
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
 *             decl.putln('__Pyx_CachedCFunction %s;' % (
*/
    __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_cnames, __pyx_v_cname); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 1992, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":1993
 *         for (type_cname, method_name), cname in sorted(self.cached_cmethods.items()):
 *             cnames.append(cname)
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname             # <<<<<<<<<<<<<<
 *             decl.putln('__Pyx_CachedCFunction %s;' % (
 *                 cname))
*/
    __pyx_t_8 = __pyx_v_self;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_11 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
    __Pyx_INCREF(__pyx_t_11);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_method_name};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_EncodedString, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1993, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_interned_identifier, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1993, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_method_name_cname, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1994
 *             cnames.append(cname)
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
 *             decl.putln('__Pyx_CachedCFunction %s;' % (             # <<<<<<<<<<<<<<
 *                 cname))
 *             # split type reference storage as it might not be static
*/
    __pyx_t_6 = __pyx_v_decl;
    __Pyx_INCREF(__pyx_t_6);

    /* "Cython/Compiler/Code.py":1995
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
 *             decl.putln('__Pyx_CachedCFunction %s;' % (
 *                 cname))             # <<<<<<<<<<<<<<
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)%s;' % (
*/
    __pyx_t_8 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Pyx_CachedCFunction_s, __pyx_v_cname); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1994, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1997
 *                 cname))
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)%s;' % (             # <<<<<<<<<<<<<<
 *                 init.name_in_main_c_code_module_state(cname), type_cname))
 *             # method name string isn't static in limited api
*/
    __pyx_t_8 = __pyx_v_init;
    __Pyx_INCREF(__pyx_t_8);

    /* "Cython/Compiler/Code.py":1998
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)%s;' % (
 *                 init.name_in_main_c_code_module_state(cname), type_cname))             # <<<<<<<<<<<<<<
 *             # method name string isn't static in limited api
 *             init.putln(
*/
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_init, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_cname); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_11), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_type_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_14[0] = __pyx_t_6;
    __pyx_t_14[1] = __pyx_mstate_global->__pyx_kp_u_type_PyObject;
    __pyx_t_14[2] = __pyx_t_11;
    __pyx_t_14[3] = __pyx_mstate_global->__pyx_kp_u__49;

    /* "Cython/Compiler/Code.py":1997
 *                 cname))
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)%s;' % (             # <<<<<<<<<<<<<<
 *                 init.name_in_main_c_code_module_state(cname), type_cname))
 *             # method name string isn't static in limited api
*/
    __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_14, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 19 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11));
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1997, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2000
 *                 init.name_in_main_c_code_module_state(cname), type_cname))
 *             # method name string isn't static in limited api
 *             init.putln(             # <<<<<<<<<<<<<<
 *                 f'{init.name_in_main_c_code_module_state(cname)}.method_name = '
 *                 f'&{init.name_in_main_c_code_module_state(method_name_cname)};')
*/
    __pyx_t_9 = __pyx_v_init;
    __Pyx_INCREF(__pyx_t_9);

    /* "Cython/Compiler/Code.py":2001
 *             # method name string isn't static in limited api
 *             init.putln(
 *                 f'{init.name_in_main_c_code_module_state(cname)}.method_name = '             # <<<<<<<<<<<<<<
 *                 f'&{init.name_in_main_c_code_module_state(method_name_cname)};')
 * 
*/
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_init, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_cname); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "Cython/Compiler/Code.py":2002
 *             init.putln(
 *                 f'{init.name_in_main_c_code_module_state(cname)}.method_name = '
 *                 f'&{init.name_in_main_c_code_module_state(method_name_cname)};')             # <<<<<<<<<<<<<<
 * 
 *         if Options.generate_cleanup_code:
*/
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_init, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_method_name_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_14[0] = __pyx_t_8;
    __pyx_t_14[1] = __pyx_mstate_global->__pyx_kp_u_method_name_2;
    __pyx_t_14[2] = __pyx_t_11;
    __pyx_t_14[3] = __pyx_mstate_global->__pyx_kp_u__49;

    /* "Cython/Compiler/Code.py":2001
 *             # method name string isn't static in limited api
 *             init.putln(
 *                 f'{init.name_in_main_c_code_module_state(cname)}.method_name = '             # <<<<<<<<<<<<<<
 *                 f'&{init.name_in_main_c_code_module_state(method_name_cname)};')
 * 
*/
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_14, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 16 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2000, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1991
 * 
 *         cnames = []
 *         for (type_cname, method_name), cname in sorted(self.cached_cmethods.items()):             # <<<<<<<<<<<<<<
 *             cnames.append(cname)
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2004
 *                 f'&{init.name_in_main_c_code_module_state(method_name_cname)};')
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_generate_cleanup_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 2004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2005
 * 
 *         if Options.generate_cleanup_code:
 *             cleanup = self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *             for cname in cnames:
 *                 cleanup.putln(f"Py_CLEAR({init.name_in_main_c_code_module_state(cname)}.method);")
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cleanup_globals); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cleanup = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2006
 *         if Options.generate_cleanup_code:
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:             # <<<<<<<<<<<<<<
 *                 cleanup.putln(f"Py_CLEAR({init.name_in_main_c_code_module_state(cname)}.method);")
 * 
*/
    __pyx_t_4 = __pyx_v_cnames; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2006, __pyx_L1_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_7;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2006, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2007
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:
 *                 cleanup.putln(f"Py_CLEAR({init.name_in_main_c_code_module_state(cname)}.method);")             # <<<<<<<<<<<<<<
 * 
 *     def generate_string_constants(self):
*/
      __pyx_t_6 = __pyx_v_cleanup;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_init, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_cname); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_15[0] = __pyx_mstate_global->__pyx_kp_u_Py_CLEAR;
      __pyx_t_15[1] = __pyx_t_9;
      __pyx_t_15[2] = __pyx_mstate_global->__pyx_kp_u_method;
      __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_15, 3, 9 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9));
      if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_11};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2007, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2006
 *         if Options.generate_cleanup_code:
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:             # <<<<<<<<<<<<<<
 *                 cleanup.putln(f"Py_CLEAR({init.name_in_main_c_code_module_state(cname)}.method);")
 * 
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2004
 *                 f'&{init.name_in_main_c_code_module_state(method_name_cname)};')
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:
*/
  }

  /* "Cython/Compiler/Code.py":1980
 *                 )
 * 
 *     def generate_cached_methods_decls(self):             # <<<<<<<<<<<<<<
 *         if not self.cached_cmethods:
 *             return
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_cached_methods_decls", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_decl);
  __Pyx_XDECREF(__pyx_v_init);
  __Pyx_XDECREF(__pyx_v_cnames);
  __Pyx_XDECREF(__pyx_v_type_cname);
  __Pyx_XDECREF(__pyx_v_method_name);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_method_name_cname);
  __Pyx_XDECREF(__pyx_v_cleanup);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2009
 *                 cleanup.putln(f"Py_CLEAR({init.name_in_main_c_code_module_state(cname)}.method);")
 * 
 *     def generate_string_constants(self):             # <<<<<<<<<<<<<<
 *         c_consts = []
 *         py_bytes_consts = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_65generate_string_constants(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_65generate_string_constants = {"generate_string_constants", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_65generate_string_constants, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_65generate_string_constants(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_string_constants (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_64generate_string_constants(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_64generate_string_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_c_consts = NULL;
  PyObject *__pyx_v_py_bytes_consts = NULL;
  PyObject *__pyx_v_py_unicode_consts = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_v_py_string = NULL;
  PyObject *__pyx_v_text = NULL;
  PyObject *__pyx_v_decls_writer = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_escaped_value = NULL;
  PyObject *__pyx_v_cliteral = NULL;
  PyObject *__pyx_v_utf16_array = NULL;
  PyObject *__pyx_v_utf32_array = NULL;
  Py_ssize_t __pyx_v_py_string_count;
  PyObject *__pyx_9genexpr11__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_t_13;
  int __pyx_t_14;
  int __pyx_t_15;
  int __pyx_t_16;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  size_t __pyx_t_19;
  PyObject *__pyx_t_20[5];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_string_constants", 0);

  /* "Cython/Compiler/Code.py":2010
 * 
 *     def generate_string_constants(self):
 *         c_consts = []             # <<<<<<<<<<<<<<
 *         py_bytes_consts = []
 *         py_unicode_consts = []
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_c_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2011
 *     def generate_string_constants(self):
 *         c_consts = []
 *         py_bytes_consts = []             # <<<<<<<<<<<<<<
 *         py_unicode_consts = []
 * 
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_py_bytes_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2012
 *         c_consts = []
 *         py_bytes_consts = []
 *         py_unicode_consts = []             # <<<<<<<<<<<<<<
 * 
 *         # Split into buckets.
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_py_unicode_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2015
 * 
 *         # Split into buckets.
 *         for _, _, c in sorted([(len(c.cname), c.cname, c) for c in self.string_const_index.values()]):             # <<<<<<<<<<<<<<
 *             if c.c_used:
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2015, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_string_const_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2015, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(__pyx_t_6 == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
      __PYX_ERR(0, 2015, __pyx_L7_error)
    }
    __pyx_t_7 = __Pyx_dict_iterator(__pyx_t_6, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2015, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_t_7;
    __pyx_t_7 = 0;
    while (1) {
      __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_3, NULL, &__pyx_t_7, NULL, __pyx_t_5);
      if (unlikely(__pyx_t_8 == 0)) break;
      if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 2015, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_9genexpr11__pyx_v_c, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr11__pyx_v_c, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2015, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2015, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2015, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr11__pyx_v_c, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2015, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2015, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_GIVEREF(__pyx_t_7);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 2015, __pyx_L7_error);
      __Pyx_GIVEREF(__pyx_t_6);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 2015, __pyx_L7_error);
      __Pyx_INCREF(__pyx_9genexpr11__pyx_v_c);
      __Pyx_GIVEREF(__pyx_9genexpr11__pyx_v_c);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_9genexpr11__pyx_v_c) != (0)) __PYX_ERR(0, 2015, __pyx_L7_error);
      __pyx_t_7 = 0;
      __pyx_t_6 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 2015, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_c); __pyx_9genexpr11__pyx_v_c = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_c); __pyx_9genexpr11__pyx_v_c = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  if (unlikely((PyList_Sort(__pyx_t_1) < 0))) __PYX_ERR(0, 2015, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2015, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2015, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_10);
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_7);
      } else {
        __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2015, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2015, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2015, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
      }
      #else
      __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_11 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11);
      index = 0; __pyx_t_10 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L11_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_10);
      index = 1; __pyx_t_6 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_6)) goto __pyx_L11_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      index = 2; __pyx_t_7 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_7)) goto __pyx_L11_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 3) < (0)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __pyx_t_12 = NULL;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      goto __pyx_L12_unpacking_done;
      __pyx_L11_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_12 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2015, __pyx_L1_error)
      __pyx_L12_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v__, __pyx_t_10);
    __pyx_t_10 = 0;
    __Pyx_DECREF_SET(__pyx_v__, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":2016
 *         # Split into buckets.
 *         for _, _, c in sorted([(len(c.cname), c.cname, c) for c in self.string_const_index.values()]):
 *             if c.c_used:             # <<<<<<<<<<<<<<
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))
 *             if c.py_strings:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_c_used); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2016, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":2017
 *         for _, _, c in sorted([(len(c.cname), c.cname, c) for c in self.string_const_index.values()]):
 *             if c.c_used:
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))             # <<<<<<<<<<<<<<
 *             if c.py_strings:
 *                 for py_string in c.py_strings.values():
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2017, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_escaped_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_GIVEREF(__pyx_t_1);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 2017, __pyx_L1_error);
      __Pyx_GIVEREF(__pyx_t_7);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 2017, __pyx_L1_error);
      __Pyx_GIVEREF(__pyx_t_6);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_6) != (0)) __PYX_ERR(0, 2017, __pyx_L1_error);
      __pyx_t_1 = 0;
      __pyx_t_7 = 0;
      __pyx_t_6 = 0;
      __pyx_t_14 = __Pyx_PyList_Append(__pyx_v_c_consts, __pyx_t_10); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 2017, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

      /* "Cython/Compiler/Code.py":2016
 *         # Split into buckets.
 *         for _, _, c in sorted([(len(c.cname), c.cname, c) for c in self.string_const_index.values()]):
 *             if c.c_used:             # <<<<<<<<<<<<<<
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))
 *             if c.py_strings:
*/
    }

    /* "Cython/Compiler/Code.py":2018
 *             if c.c_used:
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))
 *             if c.py_strings:             # <<<<<<<<<<<<<<
 *                 for py_string in c.py_strings.values():
 *                     text = c.text
*/
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_py_strings); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2018, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":2019
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))
 *             if c.py_strings:
 *                 for py_string in c.py_strings.values():             # <<<<<<<<<<<<<<
 *                     text = c.text
 *                     if py_string.is_unicode and not isinstance(text, str):
*/
      __pyx_t_3 = 0;
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_py_strings); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2019, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__pyx_t_6 == Py_None)) {
        PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
        __PYX_ERR(0, 2019, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_dict_iterator(__pyx_t_6, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_9), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2019, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_10);
      __pyx_t_10 = __pyx_t_7;
      __pyx_t_7 = 0;
      while (1) {
        __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_10, __pyx_t_9, &__pyx_t_3, NULL, &__pyx_t_7, NULL, __pyx_t_5);
        if (unlikely(__pyx_t_8 == 0)) break;
        if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 2019, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_XDECREF_SET(__pyx_v_py_string, __pyx_t_7);
        __pyx_t_7 = 0;

        /* "Cython/Compiler/Code.py":2020
 *             if c.py_strings:
 *                 for py_string in c.py_strings.values():
 *                     text = c.text             # <<<<<<<<<<<<<<
 *                     if py_string.is_unicode and not isinstance(text, str):
 *                         text = StringEncoding.EncodedString(text.decode(py_string.encoding or 'UTF-8'))
*/
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_text); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2020, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_XDECREF_SET(__pyx_v_text, __pyx_t_7);
        __pyx_t_7 = 0;

        /* "Cython/Compiler/Code.py":2021
 *                 for py_string in c.py_strings.values():
 *                     text = c.text
 *                     if py_string.is_unicode and not isinstance(text, str):             # <<<<<<<<<<<<<<
 *                         text = StringEncoding.EncodedString(text.decode(py_string.encoding or 'UTF-8'))
 * 
*/
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_mstate_global->__pyx_n_u_is_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2021, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 2021, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (__pyx_t_15) {
        } else {
          __pyx_t_13 = __pyx_t_15;
          goto __pyx_L18_bool_binop_done;
        }
        __pyx_t_15 = PyUnicode_Check(__pyx_v_text); 
        __pyx_t_16 = (!__pyx_t_15);
        __pyx_t_13 = __pyx_t_16;
        __pyx_L18_bool_binop_done:;
        if (__pyx_t_13) {

          /* "Cython/Compiler/Code.py":2022
 *                     text = c.text
 *                     if py_string.is_unicode and not isinstance(text, str):
 *                         text = StringEncoding.EncodedString(text.decode(py_string.encoding or 'UTF-8'))             # <<<<<<<<<<<<<<
 * 
 *                     (py_unicode_consts if py_string.is_unicode else py_bytes_consts).append((
*/
          __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
          __Pyx_INCREF(__pyx_t_6);
          __pyx_t_11 = __pyx_v_text;
          __Pyx_INCREF(__pyx_t_11);
          __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_mstate_global->__pyx_n_u_encoding); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2022, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2022, __pyx_L1_error)
          if (!__pyx_t_13) {
            __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          } else {
            __Pyx_INCREF(__pyx_t_18);
            __pyx_t_17 = __pyx_t_18;
            __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
            goto __pyx_L20_bool_binop_done;
          }
          __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_UTF_8);
          __pyx_t_17 = __pyx_mstate_global->__pyx_kp_u_UTF_8;
          __pyx_L20_bool_binop_done:;
          __pyx_t_19 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_17};
            __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_decode, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
            if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2022, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_1);
          }
          __pyx_t_19 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1};
            __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_EncodedString, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2022, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_7);
          }
          __Pyx_DECREF_SET(__pyx_v_text, __pyx_t_7);
          __pyx_t_7 = 0;

          /* "Cython/Compiler/Code.py":2021
 *                 for py_string in c.py_strings.values():
 *                     text = c.text
 *                     if py_string.is_unicode and not isinstance(text, str):             # <<<<<<<<<<<<<<
 *                         text = StringEncoding.EncodedString(text.decode(py_string.encoding or 'UTF-8'))
 * 
*/
        }

        /* "Cython/Compiler/Code.py":2024
 *                         text = StringEncoding.EncodedString(text.decode(py_string.encoding or 'UTF-8'))
 * 
 *                     (py_unicode_consts if py_string.is_unicode else py_bytes_consts).append((             # <<<<<<<<<<<<<<
 *                         py_string.intern and py_string.is_unicode,
 *                         py_string.cname,
*/
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_mstate_global->__pyx_n_u_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2024, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (__pyx_t_13) {
          __Pyx_INCREF(__pyx_v_py_unicode_consts);
          __pyx_t_7 = __pyx_v_py_unicode_consts;
        } else {
          __Pyx_INCREF(__pyx_v_py_bytes_consts);
          __pyx_t_7 = __pyx_v_py_bytes_consts;
        }
        if (unlikely(__pyx_t_7 == Py_None)) {
          PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
          __PYX_ERR(0, 2024, __pyx_L1_error)
        }

        /* "Cython/Compiler/Code.py":2025
 * 
 *                     (py_unicode_consts if py_string.is_unicode else py_bytes_consts).append((
 *                         py_string.intern and py_string.is_unicode,             # <<<<<<<<<<<<<<
 *                         py_string.cname,
 *                         text,
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_mstate_global->__pyx_n_u_intern); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2025, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2025, __pyx_L1_error)
        if (__pyx_t_13) {
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else {
          __Pyx_INCREF(__pyx_t_6);
          __pyx_t_1 = __pyx_t_6;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          goto __pyx_L22_bool_binop_done;
        }
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_mstate_global->__pyx_n_u_is_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2025, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_1 = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_L22_bool_binop_done:;

        /* "Cython/Compiler/Code.py":2026
 *                     (py_unicode_consts if py_string.is_unicode else py_bytes_consts).append((
 *                         py_string.intern and py_string.is_unicode,
 *                         py_string.cname,             # <<<<<<<<<<<<<<
 *                         text,
 *                     ))
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2026, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);

        /* "Cython/Compiler/Code.py":2025
 * 
 *                     (py_unicode_consts if py_string.is_unicode else py_bytes_consts).append((
 *                         py_string.intern and py_string.is_unicode,             # <<<<<<<<<<<<<<
 *                         py_string.cname,
 *                         text,
*/
        __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2025, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        __Pyx_GIVEREF(__pyx_t_1);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 2025, __pyx_L1_error);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 2025, __pyx_L1_error);
        __Pyx_INCREF(__pyx_v_text);
        __Pyx_GIVEREF(__pyx_v_text);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_v_text) != (0)) __PYX_ERR(0, 2025, __pyx_L1_error);
        __pyx_t_1 = 0;
        __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":2024
 *                         text = StringEncoding.EncodedString(text.decode(py_string.encoding or 'UTF-8'))
 * 
 *                     (py_unicode_consts if py_string.is_unicode else py_bytes_consts).append((             # <<<<<<<<<<<<<<
 *                         py_string.intern and py_string.is_unicode,
 *                         py_string.cname,
*/
        __pyx_t_14 = __Pyx_PyList_Append(((PyObject*)__pyx_t_7), __pyx_t_17); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 2024, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

      /* "Cython/Compiler/Code.py":2018
 *             if c.c_used:
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))
 *             if c.py_strings:             # <<<<<<<<<<<<<<
 *                 for py_string in c.py_strings.values():
 *                     text = c.text
*/
    }

    /* "Cython/Compiler/Code.py":2015
 * 
 *         # Split into buckets.
 *         for _, _, c in sorted([(len(c.cname), c.cname, c) for c in self.string_const_index.values()]):             # <<<<<<<<<<<<<<
 *             if c.c_used:
 *                 c_consts.append((len(c.cname), c.cname, c.escaped_value))
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2030
 *                     ))
 * 
 *         c_consts.sort()             # <<<<<<<<<<<<<<
 *         py_bytes_consts.sort()
 *         py_unicode_consts.sort()
*/
  __pyx_t_14 = PyList_Sort(__pyx_v_c_consts); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 2030, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2031
 * 
 *         c_consts.sort()
 *         py_bytes_consts.sort()             # <<<<<<<<<<<<<<
 *         py_unicode_consts.sort()
 * 
*/
  __pyx_t_14 = PyList_Sort(__pyx_v_py_bytes_consts); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 2031, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2032
 *         c_consts.sort()
 *         py_bytes_consts.sort()
 *         py_unicode_consts.sort()             # <<<<<<<<<<<<<<
 * 
 *         # Generate C string constants.
*/
  __pyx_t_14 = PyList_Sort(__pyx_v_py_unicode_consts); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 2032, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2035
 * 
 *         # Generate C string constants.
 *         decls_writer = self.parts['string_decls']             # <<<<<<<<<<<<<<
 *         for _, cname, escaped_value in c_consts:
 *             cliteral = StringEncoding.split_string_literal(escaped_value)
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_string_decls); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_decls_writer = __pyx_t_10;
  __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2036
 *         # Generate C string constants.
 *         decls_writer = self.parts['string_decls']
 *         for _, cname, escaped_value in c_consts:             # <<<<<<<<<<<<<<
 *             cliteral = StringEncoding.split_string_literal(escaped_value)
 *             decls_writer.putln(
*/
  __pyx_t_10 = __pyx_v_c_consts; __Pyx_INCREF(__pyx_t_10);
  __pyx_t_4 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2036, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_10, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
      PyObject* sequence = __pyx_t_2;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2036, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_17 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_17);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_7);
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_6);
      } else {
        __pyx_t_17 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2036, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_17);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2036, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2036, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
      }
      #else
      __pyx_t_17 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1);
      index = 0; __pyx_t_17 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_17)) goto __pyx_L27_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_17);
      index = 1; __pyx_t_7 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_7)) goto __pyx_L27_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      index = 2; __pyx_t_6 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_6)) goto __pyx_L27_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_1), 3) < (0)) __PYX_ERR(0, 2036, __pyx_L1_error)
      __pyx_t_12 = NULL;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L28_unpacking_done;
      __pyx_L27_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_12 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2036, __pyx_L1_error)
      __pyx_L28_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v__, __pyx_t_17);
    __pyx_t_17 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_escaped_value, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2037
 *         decls_writer = self.parts['string_decls']
 *         for _, cname, escaped_value in c_consts:
 *             cliteral = StringEncoding.split_string_literal(escaped_value)             # <<<<<<<<<<<<<<
 *             decls_writer.putln(
 *                 f'static const char {cname}[] = "{cliteral}";',
*/
    __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_19 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_escaped_value};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split_string_literal, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2037, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_cliteral, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2038
 *         for _, cname, escaped_value in c_consts:
 *             cliteral = StringEncoding.split_string_literal(escaped_value)
 *             decls_writer.putln(             # <<<<<<<<<<<<<<
 *                 f'static const char {cname}[] = "{cliteral}";',
 *                 safe=True,  # Braces in user strings are not for indentation.
*/
    __pyx_t_6 = __pyx_v_decls_writer;
    __Pyx_INCREF(__pyx_t_6);

    /* "Cython/Compiler/Code.py":2039
 *             cliteral = StringEncoding.split_string_literal(escaped_value)
 *             decls_writer.putln(
 *                 f'static const char {cname}[] = "{cliteral}";',             # <<<<<<<<<<<<<<
 *                 safe=True,  # Braces in user strings are not for indentation.
 *             )
*/
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_v_cliteral, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_17);
    __pyx_t_20[0] = __pyx_mstate_global->__pyx_kp_u_static_const_char;
    __pyx_t_20[1] = __pyx_t_7;
    __pyx_t_20[2] = __pyx_mstate_global->__pyx_kp_u__50;
    __pyx_t_20[3] = __pyx_t_17;
    __pyx_t_20[4] = __pyx_mstate_global->__pyx_kp_u__51;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_20, 5, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_17) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

    /* "Cython/Compiler/Code.py":2040
 *             decls_writer.putln(
 *                 f'static const char {cname}[] = "{cliteral}";',
 *                 safe=True,  # Braces in user strings are not for indentation.             # <<<<<<<<<<<<<<
 *             )
 * 
*/
    __pyx_t_19 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_t_1};
      __pyx_t_17 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2038, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_safe, Py_True, __pyx_t_17, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2038, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_17);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2038, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2036
 *         # Generate C string constants.
 *         decls_writer = self.parts['string_decls']
 *         for _, cname, escaped_value in c_consts:             # <<<<<<<<<<<<<<
 *             cliteral = StringEncoding.split_string_literal(escaped_value)
 *             decls_writer.putln(
*/
  }
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2044
 * 
 *         # Generate legacy Py_UNICODE[] constants.
 *         for c, cname in sorted(self.pyunicode_ptr_const_index.items()):             # <<<<<<<<<<<<<<
 *             utf16_array, utf32_array = StringEncoding.encode_pyunicode_string(c)
 *             if utf16_array:
*/
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_pyunicode_ptr_const_index); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_2 = __pyx_t_17;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_19 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_items, __pyx_callargs+__pyx_t_19, (1-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  __pyx_t_17 = PySequence_List(__pyx_t_10); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (unlikely((PyList_Sort(__pyx_t_17) < 0))) __PYX_ERR(0, 2044, __pyx_L1_error)
  __pyx_t_10 = __pyx_t_17; __Pyx_INCREF(__pyx_t_10);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2044, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    __pyx_t_17 = __Pyx_PyList_GetItemRefFast(__pyx_t_10, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_17);
    if ((likely(PyTuple_CheckExact(__pyx_t_17))) || (PyList_CheckExact(__pyx_t_17))) {
      PyObject* sequence = __pyx_t_17;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2044, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_1);
      } else {
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2044, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2044, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_1);
      }
      #else
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2044, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2044, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      #endif
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_6 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2044, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6);
      index = 0; __pyx_t_2 = __pyx_t_12(__pyx_t_6); if (unlikely(!__pyx_t_2)) goto __pyx_L32_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_1 = __pyx_t_12(__pyx_t_6); if (unlikely(!__pyx_t_1)) goto __pyx_L32_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_1);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 2044, __pyx_L1_error)
      __pyx_t_12 = NULL;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L33_unpacking_done;
      __pyx_L32_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_12 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2044, __pyx_L1_error)
      __pyx_L33_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2045
 *         # Generate legacy Py_UNICODE[] constants.
 *         for c, cname in sorted(self.pyunicode_ptr_const_index.items()):
 *             utf16_array, utf32_array = StringEncoding.encode_pyunicode_string(c)             # <<<<<<<<<<<<<<
 *             if utf16_array:
 *                 # Narrow and wide representations differ
*/
    __pyx_t_1 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_19 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_c};
      __pyx_t_17 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_encode_pyunicode_string, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_17))) || (PyList_CheckExact(__pyx_t_17))) {
      PyObject* sequence = __pyx_t_17;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2045, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_2);
      } else {
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2045, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_1);
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2045, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
      }
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      #endif
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_6 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6);
      index = 0; __pyx_t_1 = __pyx_t_12(__pyx_t_6); if (unlikely(!__pyx_t_1)) goto __pyx_L34_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_1);
      index = 1; __pyx_t_2 = __pyx_t_12(__pyx_t_6); if (unlikely(!__pyx_t_2)) goto __pyx_L34_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_6), 2) < (0)) __PYX_ERR(0, 2045, __pyx_L1_error)
      __pyx_t_12 = NULL;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L35_unpacking_done;
      __pyx_L34_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_12 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2045, __pyx_L1_error)
      __pyx_L35_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_utf16_array, __pyx_t_1);
    __pyx_t_1 = 0;
    __Pyx_XDECREF_SET(__pyx_v_utf32_array, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2046
 *         for c, cname in sorted(self.pyunicode_ptr_const_index.items()):
 *             utf16_array, utf32_array = StringEncoding.encode_pyunicode_string(c)
 *             if utf16_array:             # <<<<<<<<<<<<<<
 *                 # Narrow and wide representations differ
 *                 decls_writer.putln("#ifdef Py_UNICODE_WIDE")
*/
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_utf16_array); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2046, __pyx_L1_error)
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":2048
 *             if utf16_array:
 *                 # Narrow and wide representations differ
 *                 decls_writer.putln("#ifdef Py_UNICODE_WIDE")             # <<<<<<<<<<<<<<
 *             decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf32_array))
 *             if utf16_array:
*/
      __pyx_t_2 = __pyx_v_decls_writer;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_19 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_ifdef_Py_UNICODE_WIDE};
        __pyx_t_17 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2048, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
      }
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

      /* "Cython/Compiler/Code.py":2046
 *         for c, cname in sorted(self.pyunicode_ptr_const_index.items()):
 *             utf16_array, utf32_array = StringEncoding.encode_pyunicode_string(c)
 *             if utf16_array:             # <<<<<<<<<<<<<<
 *                 # Narrow and wide representations differ
 *                 decls_writer.putln("#ifdef Py_UNICODE_WIDE")
*/
    }

    /* "Cython/Compiler/Code.py":2049
 *                 # Narrow and wide representations differ
 *                 decls_writer.putln("#ifdef Py_UNICODE_WIDE")
 *             decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf32_array))             # <<<<<<<<<<<<<<
 *             if utf16_array:
 *                 decls_writer.putln("#else")
*/
    __pyx_t_2 = __pyx_v_decls_writer;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_utf32_array), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_20[0] = __pyx_mstate_global->__pyx_kp_u_static_Py_UNICODE;
    __pyx_t_20[1] = __pyx_t_1;
    __pyx_t_20[2] = __pyx_mstate_global->__pyx_kp_u__52;
    __pyx_t_20[3] = __pyx_t_6;
    __pyx_t_20[4] = __pyx_mstate_global->__pyx_kp_u__53;
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_20, 5, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 7 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 3, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_19 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_17 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2049, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
    }
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

    /* "Cython/Compiler/Code.py":2050
 *                 decls_writer.putln("#ifdef Py_UNICODE_WIDE")
 *             decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf32_array))
 *             if utf16_array:             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("#else")
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))
*/
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_utf16_array); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2050, __pyx_L1_error)
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":2051
 *             decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf32_array))
 *             if utf16_array:
 *                 decls_writer.putln("#else")             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))
 *                 decls_writer.putln("#endif")
*/
      __pyx_t_7 = __pyx_v_decls_writer;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_19 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_else};
        __pyx_t_17 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2051, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
      }
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

      /* "Cython/Compiler/Code.py":2052
 *             if utf16_array:
 *                 decls_writer.putln("#else")
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("#endif")
 * 
*/
      __pyx_t_7 = __pyx_v_decls_writer;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_utf16_array), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_20[0] = __pyx_mstate_global->__pyx_kp_u_static_Py_UNICODE;
      __pyx_t_20[1] = __pyx_t_2;
      __pyx_t_20[2] = __pyx_mstate_global->__pyx_kp_u__52;
      __pyx_t_20[3] = __pyx_t_6;
      __pyx_t_20[4] = __pyx_mstate_global->__pyx_kp_u__53;
      __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_20, 5, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 7 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 3, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_19 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1};
        __pyx_t_17 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2052, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
      }
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

      /* "Cython/Compiler/Code.py":2053
 *                 decls_writer.putln("#else")
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))
 *                 decls_writer.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *         # Generate stringtab and Python string constants.
*/
      __pyx_t_1 = __pyx_v_decls_writer;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_19 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_endif};
        __pyx_t_17 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2053, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
      }
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

      /* "Cython/Compiler/Code.py":2050
 *                 decls_writer.putln("#ifdef Py_UNICODE_WIDE")
 *             decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf32_array))
 *             if utf16_array:             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("#else")
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))
*/
    }

    /* "Cython/Compiler/Code.py":2044
 * 
 *         # Generate legacy Py_UNICODE[] constants.
 *         for c, cname in sorted(self.pyunicode_ptr_const_index.items()):             # <<<<<<<<<<<<<<
 *             utf16_array, utf32_array = StringEncoding.encode_pyunicode_string(c)
 *             if utf16_array:
*/
  }
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2056
 * 
 *         # Generate stringtab and Python string constants.
 *         py_string_count = len(py_bytes_consts) + len(py_unicode_consts)             # <<<<<<<<<<<<<<
 *         self.parts['module_state'].putln(f"PyObject *{Naming.stringtab_cname}[{py_string_count}];")
 *         self._generate_module_array_traverse_and_clear(Naming.stringtab_cname, py_string_count, may_have_refcycles=False)
*/
  __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_py_bytes_consts); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2056, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyList_GET_SIZE(__pyx_v_py_unicode_consts); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2056, __pyx_L1_error)
  __pyx_v_py_string_count = (__pyx_t_4 + __pyx_t_9);

  /* "Cython/Compiler/Code.py":2057
 *         # Generate stringtab and Python string constants.
 *         py_string_count = len(py_bytes_consts) + len(py_unicode_consts)
 *         self.parts['module_state'].putln(f"PyObject *{Naming.stringtab_cname}[{py_string_count}];")             # <<<<<<<<<<<<<<
 *         self._generate_module_array_traverse_and_clear(Naming.stringtab_cname, py_string_count, may_have_refcycles=False)
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_module_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_17 = __pyx_t_7;
  __Pyx_INCREF(__pyx_t_17);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_stringtab_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_py_string_count, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_20[0] = __pyx_mstate_global->__pyx_kp_u_PyObject;
  __pyx_t_20[1] = __pyx_t_6;
  __pyx_t_20[2] = __pyx_mstate_global->__pyx_kp_u__22;
  __pyx_t_20[3] = __pyx_t_1;
  __pyx_t_20[4] = __pyx_mstate_global->__pyx_kp_u__48;
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_20, 5, 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_19 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_17, __pyx_t_2};
    __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_19, (2-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2058
 *         py_string_count = len(py_bytes_consts) + len(py_unicode_consts)
 *         self.parts['module_state'].putln(f"PyObject *{Naming.stringtab_cname}[{py_string_count}];")
 *         self._generate_module_array_traverse_and_clear(Naming.stringtab_cname, py_string_count, may_have_refcycles=False)             # <<<<<<<<<<<<<<
 * 
 *         self.generate_pystring_constants(py_unicode_consts, py_bytes_consts)
*/
  __pyx_t_7 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_stringtab_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_17 = PyLong_FromSsize_t(__pyx_v_py_string_count); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_19 = 0;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, __pyx_t_2, __pyx_t_17};
    __pyx_t_1 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_may_have_refcycles, Py_False, __pyx_t_1, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 2058, __pyx_L1_error)
    __pyx_t_10 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_module_array_traverse, __pyx_callargs+__pyx_t_19, (3-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_1);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2060
 *         self._generate_module_array_traverse_and_clear(Naming.stringtab_cname, py_string_count, may_have_refcycles=False)
 * 
 *         self.generate_pystring_constants(py_unicode_consts, py_bytes_consts)             # <<<<<<<<<<<<<<
 * 
 *     def generate_pystring_constants(self, text_strings: list, byte_strings: list):
*/
  __pyx_t_1 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_19 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_v_py_unicode_consts, __pyx_v_py_bytes_consts};
    __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_pystring_constants, __pyx_callargs+__pyx_t_19, (3-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2009
 *                 cleanup.putln(f"Py_CLEAR({init.name_in_main_c_code_module_state(cname)}.method);")
 * 
 *     def generate_string_constants(self):             # <<<<<<<<<<<<<<
 *         c_consts = []
 *         py_bytes_consts = []
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_string_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_c_consts);
  __Pyx_XDECREF(__pyx_v_py_bytes_consts);
  __Pyx_XDECREF(__pyx_v_py_unicode_consts);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XDECREF(__pyx_v_py_string);
  __Pyx_XDECREF(__pyx_v_text);
  __Pyx_XDECREF(__pyx_v_decls_writer);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_escaped_value);
  __Pyx_XDECREF(__pyx_v_cliteral);
  __Pyx_XDECREF(__pyx_v_utf16_array);
  __Pyx_XDECREF(__pyx_v_utf32_array);
  __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2062
 *         self.generate_pystring_constants(py_unicode_consts, py_bytes_consts)
 * 
 *     def generate_pystring_constants(self, text_strings: list, byte_strings: list):             # <<<<<<<<<<<<<<
 *         # Concatenate all strings into one byte sequence and build a length index array.
 *         defines = self.parts['constant_name_defines']
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_67generate_pystring_constants(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_67generate_pystring_constants = {"generate_pystring_constants", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_67generate_pystring_constants, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_67generate_pystring_constants(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text_strings = 0;
  PyObject *__pyx_v_byte_strings = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_pystring_constants (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_text_strings,&__pyx_mstate_global->__pyx_n_u_byte_strings,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2062, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2062, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2062, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2062, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "generate_pystring_constants", 0) < (0)) __PYX_ERR(0, 2062, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("generate_pystring_constants", 1, 3, 3, i); __PYX_ERR(0, 2062, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2062, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2062, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2062, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_text_strings = ((PyObject*)values[1]);
    __pyx_v_byte_strings = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("generate_pystring_constants", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 2062, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_pystring_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_text_strings), (&PyList_Type), 0, "text_strings", 2))) __PYX_ERR(0, 2062, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_byte_strings), (&PyList_Type), 0, "byte_strings", 2))) __PYX_ERR(0, 2062, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_66generate_pystring_constants(__pyx_self, __pyx_v_self, __pyx_v_text_strings, __pyx_v_byte_strings);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_66generate_pystring_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text_strings, PyObject *__pyx_v_byte_strings) {
  PyObject *__pyx_v_defines = NULL;
  PyObject *__pyx_v_bytes_values = NULL;
  Py_ssize_t __pyx_v_first_interned;
  Py_ssize_t __pyx_v_stringtab_pos;
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_is_interned = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_text = NULL;
  Py_ssize_t __pyx_v_stringtab_bytes_start;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  PyObject *__pyx_v_index = NULL;
  PyObject *__pyx_v_concat_bytes = NULL;
  PyObject *__pyx_v_w = NULL;
  int __pyx_v_has_if;
  PyObject *__pyx_v_algo_number = NULL;
  PyObject *__pyx_v_algo_name = NULL;
  PyObject *__pyx_v_compress = NULL;
  PyObject *__pyx_v_compressed_bytes = NULL;
  PyObject *__pyx_v_guard = NULL;
  PyObject *__pyx_v_escaped_bytes = NULL;
  PyObject *__pyx_9genexpr12__pyx_v_length = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  size_t __pyx_t_10;
  int __pyx_t_11;
  int __pyx_t_12;
  int __pyx_t_13;
  PyObject *__pyx_t_14[7];
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16[5];
  PyObject *(*__pyx_t_17)(PyObject *);
  Py_ssize_t __pyx_t_18;
  PyObject *__pyx_t_19[3];
  PyObject *__pyx_t_20[9];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_pystring_constants", 0);

  /* "Cython/Compiler/Code.py":2064
 *     def generate_pystring_constants(self, text_strings: list, byte_strings: list):
 *         # Concatenate all strings into one byte sequence and build a length index array.
 *         defines = self.parts['constant_name_defines']             # <<<<<<<<<<<<<<
 * 
 *         bytes_values = []
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_constant_name_defines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_defines = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2066
 *         defines = self.parts['constant_name_defines']
 * 
 *         bytes_values = []             # <<<<<<<<<<<<<<
 *         first_interned: cython.Py_ssize_t = -1
 *         stringtab_pos: cython.Py_ssize_t = 0
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_bytes_values = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2067
 * 
 *         bytes_values = []
 *         first_interned: cython.Py_ssize_t = -1             # <<<<<<<<<<<<<<
 *         stringtab_pos: cython.Py_ssize_t = 0
 * 
*/
  __pyx_v_first_interned = -1L;

  /* "Cython/Compiler/Code.py":2068
 *         bytes_values = []
 *         first_interned: cython.Py_ssize_t = -1
 *         stringtab_pos: cython.Py_ssize_t = 0             # <<<<<<<<<<<<<<
 * 
 *         # For (Unicode) text strings, the index stores the character lengths after UTF8 decoding.
*/
  __pyx_v_stringtab_pos = 0;

  /* "Cython/Compiler/Code.py":2071
 * 
 *         # For (Unicode) text strings, the index stores the character lengths after UTF8 decoding.
 *         for i, (is_interned, cname, text) in enumerate(text_strings):             # <<<<<<<<<<<<<<
 *             bytes_values.append(text.encode('utf-8'))
 *             if first_interned == -1 and is_interned:
*/
  __pyx_t_3 = 0;
  __pyx_t_2 = __pyx_v_text_strings; __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2071, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2071, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_5);
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_7);
      } else {
        __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2071, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_5);
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2071, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2071, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
      }
      #else
      __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
      index = 0; __pyx_t_5 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      index = 1; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      index = 2; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 3) < (0)) __PYX_ERR(0, 2071, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2071, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_is_interned, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_text, __pyx_t_7);
    __pyx_t_7 = 0;
    __pyx_v_i = __pyx_t_3;
    __pyx_t_3 = (__pyx_t_3 + 1);

    /* "Cython/Compiler/Code.py":2072
 *         # For (Unicode) text strings, the index stores the character lengths after UTF8 decoding.
 *         for i, (is_interned, cname, text) in enumerate(text_strings):
 *             bytes_values.append(text.encode('utf-8'))             # <<<<<<<<<<<<<<
 *             if first_interned == -1 and is_interned:
 *                 first_interned = i
*/
    __pyx_t_7 = __pyx_v_text;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_utf_8};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_encode, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_bytes_values, __pyx_t_1); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 2072, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2073
 *         for i, (is_interned, cname, text) in enumerate(text_strings):
 *             bytes_values.append(text.encode('utf-8'))
 *             if first_interned == -1 and is_interned:             # <<<<<<<<<<<<<<
 *                 first_interned = i
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
*/
    __pyx_t_13 = (__pyx_v_first_interned == -1L);
    if (__pyx_t_13) {
    } else {
      __pyx_t_12 = __pyx_t_13;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_is_interned); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 2073, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_13;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":2074
 *             bytes_values.append(text.encode('utf-8'))
 *             if first_interned == -1 and is_interned:
 *                 first_interned = i             # <<<<<<<<<<<<<<
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
 *             stringtab_pos += 1
*/
      __pyx_v_first_interned = __pyx_v_i;

      /* "Cython/Compiler/Code.py":2073
 *         for i, (is_interned, cname, text) in enumerate(text_strings):
 *             bytes_values.append(text.encode('utf-8'))
 *             if first_interned == -1 and is_interned:             # <<<<<<<<<<<<<<
 *                 first_interned = i
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
*/
    }

    /* "Cython/Compiler/Code.py":2075
 *             if first_interned == -1 and is_interned:
 *                 first_interned = i
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")             # <<<<<<<<<<<<<<
 *             stringtab_pos += 1
 * 
*/
    __pyx_t_7 = __pyx_v_defines;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_stringtab_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_stringtab_pos, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_14[0] = __pyx_mstate_global->__pyx_kp_u_define;
    __pyx_t_14[1] = __pyx_t_6;
    __pyx_t_14[2] = __pyx_mstate_global->__pyx_kp_u__21;
    __pyx_t_14[3] = __pyx_t_8;
    __pyx_t_14[4] = __pyx_mstate_global->__pyx_kp_u__22;
    __pyx_t_14[5] = __pyx_t_5;
    __pyx_t_14[6] = __pyx_mstate_global->__pyx_kp_u__23;
    __pyx_t_15 = __Pyx_PyUnicode_Join(__pyx_t_14, 7, 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
    if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_15};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2075, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2076
 *                 first_interned = i
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
 *             stringtab_pos += 1             # <<<<<<<<<<<<<<
 * 
 *         stringtab_bytes_start: cython.Py_ssize_t = len(text_strings)
*/
    __pyx_v_stringtab_pos = (__pyx_v_stringtab_pos + 1);

    /* "Cython/Compiler/Code.py":2071
 * 
 *         # For (Unicode) text strings, the index stores the character lengths after UTF8 decoding.
 *         for i, (is_interned, cname, text) in enumerate(text_strings):             # <<<<<<<<<<<<<<
 *             bytes_values.append(text.encode('utf-8'))
 *             if first_interned == -1 and is_interned:
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2078
 *             stringtab_pos += 1
 * 
 *         stringtab_bytes_start: cython.Py_ssize_t = len(text_strings)             # <<<<<<<<<<<<<<
 * 
 *         # For bytes objects, the index stores the byte lengths, ignoring the initial Unicode string.
*/
  __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_text_strings); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2078, __pyx_L1_error)
  __pyx_v_stringtab_bytes_start = __pyx_t_3;

  /* "Cython/Compiler/Code.py":2081
 * 
 *         # For bytes objects, the index stores the byte lengths, ignoring the initial Unicode string.
 *         for _, cname, text in byte_strings:             # <<<<<<<<<<<<<<
 *             bytes_values.append(text.byteencode() if text.encoding else text.utf8encode())
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
*/
  __pyx_t_2 = __pyx_v_byte_strings; __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2081, __pyx_L1_error)
      #endif
      if (__pyx_t_3 >= __pyx_temp) break;
    }
    __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_3;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2081, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_15 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_15);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_7);
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_5);
      } else {
        __pyx_t_15 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2081, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_15);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2081, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2081, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_5);
      }
      #else
      __pyx_t_15 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
      index = 0; __pyx_t_15 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_15)) goto __pyx_L13_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_15);
      index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L13_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      index = 2; __pyx_t_5 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L13_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 3) < (0)) __PYX_ERR(0, 2081, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L14_unpacking_done;
      __pyx_L13_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2081, __pyx_L1_error)
      __pyx_L14_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v__, __pyx_t_15);
    __pyx_t_15 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_text, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":2082
 *         # For bytes objects, the index stores the byte lengths, ignoring the initial Unicode string.
 *         for _, cname, text in byte_strings:
 *             bytes_values.append(text.byteencode() if text.encoding else text.utf8encode())             # <<<<<<<<<<<<<<
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
 *             stringtab_pos += 1
*/
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_mstate_global->__pyx_n_u_encoding); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 2082, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_12) {
      __pyx_t_7 = __pyx_v_text;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_10 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_byteencode, __pyx_callargs+__pyx_t_10, (1-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2082, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_1 = __pyx_t_5;
      __pyx_t_5 = 0;
    } else {
      __pyx_t_7 = __pyx_v_text;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_10 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_utf8encode, __pyx_callargs+__pyx_t_10, (1-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2082, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_1 = __pyx_t_5;
      __pyx_t_5 = 0;
    }
    __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_bytes_values, __pyx_t_1); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 2082, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2083
 *         for _, cname, text in byte_strings:
 *             bytes_values.append(text.byteencode() if text.encoding else text.utf8encode())
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")             # <<<<<<<<<<<<<<
 *             stringtab_pos += 1
 * 
*/
    __pyx_t_5 = __pyx_v_defines;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_stringtab_cname); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_15, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __pyx_t_15 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_stringtab_pos, 0, ' ', 'd'); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_14[0] = __pyx_mstate_global->__pyx_kp_u_define;
    __pyx_t_14[1] = __pyx_t_7;
    __pyx_t_14[2] = __pyx_mstate_global->__pyx_kp_u__21;
    __pyx_t_14[3] = __pyx_t_8;
    __pyx_t_14[4] = __pyx_mstate_global->__pyx_kp_u__22;
    __pyx_t_14[5] = __pyx_t_15;
    __pyx_t_14[6] = __pyx_mstate_global->__pyx_kp_u__23;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_14, 7, 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 1 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2083, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2084
 *             bytes_values.append(text.byteencode() if text.encoding else text.utf8encode())
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
 *             stringtab_pos += 1             # <<<<<<<<<<<<<<
 * 
 *         index = list(map(len, bytes_values))
*/
    __pyx_v_stringtab_pos = (__pyx_v_stringtab_pos + 1);

    /* "Cython/Compiler/Code.py":2081
 * 
 *         # For bytes objects, the index stores the byte lengths, ignoring the initial Unicode string.
 *         for _, cname, text in byte_strings:             # <<<<<<<<<<<<<<
 *             bytes_values.append(text.byteencode() if text.encoding else text.utf8encode())
 *             defines.putln(f"#define {cname} {Naming.stringtab_cname}[{stringtab_pos}]")
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2086
 *             stringtab_pos += 1
 * 
 *         index = list(map(len, bytes_values))             # <<<<<<<<<<<<<<
 *         concat_bytes = b''.join(bytes_values)
 * 
*/
  __pyx_t_1 = NULL;
  __pyx_t_6 = __Pyx_GetBuiltinName(__pyx_mstate_global->__pyx_n_u_len); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_6, __pyx_v_bytes_values};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_map, __pyx_callargs+__pyx_t_10, (3-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = __Pyx_PySequence_ListKeepNew(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_index = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":2087
 * 
 *         index = list(map(len, bytes_values))
 *         concat_bytes = b''.join(bytes_values)             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['init_constants']
*/
  __pyx_t_6 = __Pyx_PyBytes_Join(__pyx_mstate_global->__pyx_kp_b__9, __pyx_v_bytes_values); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_concat_bytes = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":2089
 *         concat_bytes = b''.join(bytes_values)
 * 
 *         w = self.parts['init_constants']             # <<<<<<<<<<<<<<
 *         w.putln("{")  # Start code block.
 * 
*/
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_init_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_w = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2090
 * 
 *         w = self.parts['init_constants']
 *         w.putln("{")  # Start code block.             # <<<<<<<<<<<<<<
 * 
 *         # Store the index of string lengths.
*/
  __pyx_t_6 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__54};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2093
 * 
 *         # Store the index of string lengths.
 *         w.putln(             # <<<<<<<<<<<<<<
 *             "const struct { "
 *             f"const unsigned int length: {max(index).bit_length()}; "
*/
  __pyx_t_6 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_6);

  /* "Cython/Compiler/Code.py":2095
 *         w.putln(
 *             "const struct { "
 *             f"const unsigned int length: {max(index).bit_length()}; "             # <<<<<<<<<<<<<<
 *             "} "
 *             f"index[] = {{{','.join(['{%d}' % length for length in index])}}};",
*/
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_bit_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2097
 *             f"const unsigned int length: {max(index).bit_length()}; "
 *             "} "
 *             f"index[] = {{{','.join(['{%d}' % length for length in index])}}};",             # <<<<<<<<<<<<<<
 *         )
 * 
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2097, __pyx_L18_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_15 = __pyx_v_index; __Pyx_INCREF(__pyx_t_15);
    __pyx_t_3 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_15);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2097, __pyx_L18_error)
        #endif
        if (__pyx_t_3 >= __pyx_temp) break;
      }
      __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_15, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_3;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2097, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_9genexpr12__pyx_v_length, __pyx_t_8);
      __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_d_2, __pyx_9genexpr12__pyx_v_length); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2097, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 2097, __pyx_L18_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_length); __pyx_9genexpr12__pyx_v_length = 0;
    goto __pyx_L22_exit_scope;
    __pyx_L18_error:;
    __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_length); __pyx_9genexpr12__pyx_v_length = 0;
    goto __pyx_L1_error;
    __pyx_L22_exit_scope:;
  } /* exit inner scope */
  __pyx_t_15 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__35, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_15);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_const_struct_const_unsigned_int;
  __pyx_t_16[1] = __pyx_t_5;
  __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u_index;
  __pyx_t_16[3] = __pyx_t_15;
  __pyx_t_16[4] = __pyx_mstate_global->__pyx_kp_u__55;

  /* "Cython/Compiler/Code.py":2094
 *         # Store the index of string lengths.
 *         w.putln(
 *             "const struct { "             # <<<<<<<<<<<<<<
 *             f"const unsigned int length: {max(index).bit_length()}; "
 *             "} "
*/
  __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_16, 5, 42 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 15 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15));
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2101
 * 
 *         # Store and decompress the string data.
 *         self.use_utility_code(UtilityCode.load_cached("DecompressString", "StringTools.c"))             # <<<<<<<<<<<<<<
 * 
 *         has_if = False
*/
  __pyx_t_1 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_mstate_global->__pyx_tuple[15], NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_15);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_15};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2103
 *         self.use_utility_code(UtilityCode.load_cached("DecompressString", "StringTools.c"))
 * 
 *         has_if = False             # <<<<<<<<<<<<<<
 *         for algo_number, algo_name, compress in reversed(compression_algorithms):
 *             if compress is None:
*/
  __pyx_v_has_if = 0;

  /* "Cython/Compiler/Code.py":2104
 * 
 *         has_if = False
 *         for algo_number, algo_name, compress in reversed(compression_algorithms):             # <<<<<<<<<<<<<<
 *             if compress is None:
 *                 continue
*/
  __pyx_t_15 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_compression_algorithms); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_t_1};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_reversed, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    __pyx_t_17 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_17 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2104, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(!__pyx_t_17)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2104, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_3;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2104, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_3);
        #endif
        ++__pyx_t_3;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2104, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_17(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 2104, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
      PyObject* sequence = __pyx_t_2;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2104, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_15 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_15);
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_5);
      } else {
        __pyx_t_15 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2104, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_15);
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2104, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2104, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_5);
      }
      #else
      __pyx_t_15 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2104, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2104, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2104, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2104, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
      index = 0; __pyx_t_15 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_15)) goto __pyx_L25_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_15);
      index = 1; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L25_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      index = 2; __pyx_t_5 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L25_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 3) < (0)) __PYX_ERR(0, 2104, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L26_unpacking_done;
      __pyx_L25_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2104, __pyx_L1_error)
      __pyx_L26_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_algo_number, __pyx_t_15);
    __pyx_t_15 = 0;
    __Pyx_XDECREF_SET(__pyx_v_algo_name, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_compress, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":2105
 *         has_if = False
 *         for algo_number, algo_name, compress in reversed(compression_algorithms):
 *             if compress is None:             # <<<<<<<<<<<<<<
 *                 continue
 *             compressed_bytes = compress(concat_bytes)
*/
    __pyx_t_12 = (__pyx_v_compress == Py_None);
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":2106
 *         for algo_number, algo_name, compress in reversed(compression_algorithms):
 *             if compress is None:
 *                 continue             # <<<<<<<<<<<<<<
 *             compressed_bytes = compress(concat_bytes)
 *             if len(compressed_bytes) >= len(concat_bytes) - 10:
*/
      goto __pyx_L23_continue;

      /* "Cython/Compiler/Code.py":2105
 *         has_if = False
 *         for algo_number, algo_name, compress in reversed(compression_algorithms):
 *             if compress is None:             # <<<<<<<<<<<<<<
 *                 continue
 *             compressed_bytes = compress(concat_bytes)
*/
    }

    /* "Cython/Compiler/Code.py":2107
 *             if compress is None:
 *                 continue
 *             compressed_bytes = compress(concat_bytes)             # <<<<<<<<<<<<<<
 *             if len(compressed_bytes) >= len(concat_bytes) - 10:
 *                 continue
*/
    __pyx_t_5 = NULL;
    __Pyx_INCREF(__pyx_v_compress);
    __pyx_t_6 = __pyx_v_compress; 
    __pyx_t_10 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_10 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_concat_bytes};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2107, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_compressed_bytes, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2108
 *                 continue
 *             compressed_bytes = compress(concat_bytes)
 *             if len(compressed_bytes) >= len(concat_bytes) - 10:             # <<<<<<<<<<<<<<
 *                 continue
 * 
*/
    __pyx_t_4 = PyObject_Length(__pyx_v_compressed_bytes); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2108, __pyx_L1_error)
    if (unlikely(__pyx_v_concat_bytes == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 2108, __pyx_L1_error)
    }
    __pyx_t_18 = __Pyx_PyBytes_GET_SIZE(__pyx_v_concat_bytes); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2108, __pyx_L1_error)
    __pyx_t_12 = (__pyx_t_4 >= (__pyx_t_18 - 10));
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":2109
 *             compressed_bytes = compress(concat_bytes)
 *             if len(compressed_bytes) >= len(concat_bytes) - 10:
 *                 continue             # <<<<<<<<<<<<<<
 * 
 *             if algo_name == 'zlib':
*/
      goto __pyx_L23_continue;

      /* "Cython/Compiler/Code.py":2108
 *                 continue
 *             compressed_bytes = compress(concat_bytes)
 *             if len(compressed_bytes) >= len(concat_bytes) - 10:             # <<<<<<<<<<<<<<
 *                 continue
 * 
*/
    }

    /* "Cython/Compiler/Code.py":2111
 *                 continue
 * 
 *             if algo_name == 'zlib':             # <<<<<<<<<<<<<<
 *                 # Use zlib as fallback if the selected compression module is not available.
 *                 assert algo_number == 1, f"Compression algorithm no. 1 must be 'zlib' to be used as fallback."
*/
    __pyx_t_12 = (__Pyx_PyUnicode_Equals(__pyx_v_algo_name, __pyx_mstate_global->__pyx_n_u_zlib, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 2111, __pyx_L1_error)
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":2113
 *             if algo_name == 'zlib':
 *                 # Use zlib as fallback if the selected compression module is not available.
 *                 assert algo_number == 1, f"Compression algorithm no. 1 must be 'zlib' to be used as fallback."             # <<<<<<<<<<<<<<
 *                 guard = "(CYTHON_COMPRESS_STRINGS) != 0"
 *             elif algo_name == 'zstd':
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_12 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_algo_number, __pyx_mstate_global->__pyx_int_1, 1, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 2113, __pyx_L1_error)
        if (unlikely(!__pyx_t_12)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Compression_algorithm_no_1_must, 0, 0);
          __PYX_ERR(0, 2113, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(0, 2113, __pyx_L1_error)
      #endif

      /* "Cython/Compiler/Code.py":2114
 *                 # Use zlib as fallback if the selected compression module is not available.
 *                 assert algo_number == 1, f"Compression algorithm no. 1 must be 'zlib' to be used as fallback."
 *                 guard = "(CYTHON_COMPRESS_STRINGS) != 0"             # <<<<<<<<<<<<<<
 *             elif algo_name == 'zstd':
 *                 # 'compression.zstd' was added in Python 3.14.
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_CYTHON_COMPRESS_STRINGS_0);
      __Pyx_XDECREF_SET(__pyx_v_guard, __pyx_mstate_global->__pyx_kp_u_CYTHON_COMPRESS_STRINGS_0);

      /* "Cython/Compiler/Code.py":2111
 *                 continue
 * 
 *             if algo_name == 'zlib':             # <<<<<<<<<<<<<<
 *                 # Use zlib as fallback if the selected compression module is not available.
 *                 assert algo_number == 1, f"Compression algorithm no. 1 must be 'zlib' to be used as fallback."
*/
      goto __pyx_L29;
    }

    /* "Cython/Compiler/Code.py":2115
 *                 assert algo_number == 1, f"Compression algorithm no. 1 must be 'zlib' to be used as fallback."
 *                 guard = "(CYTHON_COMPRESS_STRINGS) != 0"
 *             elif algo_name == 'zstd':             # <<<<<<<<<<<<<<
 *                 # 'compression.zstd' was added in Python 3.14.
 *                 guard = f"(CYTHON_COMPRESS_STRINGS) == {algo_number} && __PYX_LIMITED_VERSION_HEX >= 0x030e0000"
*/
    __pyx_t_12 = (__Pyx_PyUnicode_Equals(__pyx_v_algo_name, __pyx_mstate_global->__pyx_n_u_zstd, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 2115, __pyx_L1_error)
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":2117
 *             elif algo_name == 'zstd':
 *                 # 'compression.zstd' was added in Python 3.14.
 *                 guard = f"(CYTHON_COMPRESS_STRINGS) == {algo_number} && __PYX_LIMITED_VERSION_HEX >= 0x030e0000"             # <<<<<<<<<<<<<<
 *             else:
 *                 guard = f"(CYTHON_COMPRESS_STRINGS) == {algo_number}"
*/
      __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_algo_number, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_CYTHON_COMPRESS_STRINGS;
      __pyx_t_19[1] = __pyx_t_2;
      __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u_PYX_LIMITED_VERSION_HEX_0x030;
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 29 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 43, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF_SET(__pyx_v_guard, ((PyObject*)__pyx_t_6));
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":2115
 *                 assert algo_number == 1, f"Compression algorithm no. 1 must be 'zlib' to be used as fallback."
 *                 guard = "(CYTHON_COMPRESS_STRINGS) != 0"
 *             elif algo_name == 'zstd':             # <<<<<<<<<<<<<<
 *                 # 'compression.zstd' was added in Python 3.14.
 *                 guard = f"(CYTHON_COMPRESS_STRINGS) == {algo_number} && __PYX_LIMITED_VERSION_HEX >= 0x030e0000"
*/
      goto __pyx_L29;
    }

    /* "Cython/Compiler/Code.py":2119
 *                 guard = f"(CYTHON_COMPRESS_STRINGS) == {algo_number} && __PYX_LIMITED_VERSION_HEX >= 0x030e0000"
 *             else:
 *                 guard = f"(CYTHON_COMPRESS_STRINGS) == {algo_number}"             # <<<<<<<<<<<<<<
 * 
 *             w.putln(f"#{'if' if not has_if else 'elif'} {guard} /[inserted by cython to avoid comment start]* compression: {algo_name} ({len(compressed_bytes)} bytes) *[inserted by cython to avoid comment closer]/")
*/
    /*else*/ {
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_algo_number, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2119, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CYTHON_COMPRESS_STRINGS, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2119, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_v_guard, ((PyObject*)__pyx_t_2));
      __pyx_t_2 = 0;
    }
    __pyx_L29:;

    /* "Cython/Compiler/Code.py":2121
 *                 guard = f"(CYTHON_COMPRESS_STRINGS) == {algo_number}"
 * 
 *             w.putln(f"#{'if' if not has_if else 'elif'} {guard} /[inserted by cython to avoid comment start]* compression: {algo_name} ({len(compressed_bytes)} bytes) *[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 *             has_if = True
 *             escaped_bytes = StringEncoding.split_string_literal(
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_12 = (!__pyx_v_has_if);
    if (__pyx_t_12) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_if_2);
      __pyx_t_5 = __pyx_mstate_global->__pyx_n_u_if_2;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_elif);
      __pyx_t_5 = __pyx_mstate_global->__pyx_n_u_elif;
    }
    __pyx_t_15 = __Pyx_PyUnicode_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_algo_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_18 = PyObject_Length(__pyx_v_compressed_bytes); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2121, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_18, 0, ' ', 'd'); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_20[0] = __pyx_mstate_global->__pyx_kp_u__8;
    __pyx_t_20[1] = __pyx_t_15;
    __pyx_t_20[2] = __pyx_mstate_global->__pyx_kp_u__21;
    __pyx_t_20[3] = __pyx_v_guard;
    __pyx_t_20[4] = __pyx_mstate_global->__pyx_kp_u_compression;
    __pyx_t_20[5] = __pyx_t_5;
    __pyx_t_20[6] = __pyx_mstate_global->__pyx_kp_u__56;
    __pyx_t_20[7] = __pyx_t_8;
    __pyx_t_20[8] = __pyx_mstate_global->__pyx_kp_u_bytes;
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_20, 9, 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15) + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_guard) + 17 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 10, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_guard) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2122
 * 
 *             w.putln(f"#{'if' if not has_if else 'elif'} {guard} /[inserted by cython to avoid comment start]* compression: {algo_name} ({len(compressed_bytes)} bytes) *[inserted by cython to avoid comment closer]/")
 *             has_if = True             # <<<<<<<<<<<<<<
 *             escaped_bytes = StringEncoding.split_string_literal(
 *                 StringEncoding.escape_byte_string(compressed_bytes))
*/
    __pyx_v_has_if = 1;

    /* "Cython/Compiler/Code.py":2123
 *             w.putln(f"#{'if' if not has_if else 'elif'} {guard} /[inserted by cython to avoid comment start]* compression: {algo_name} ({len(compressed_bytes)} bytes) *[inserted by cython to avoid comment closer]/")
 *             has_if = True
 *             escaped_bytes = StringEncoding.split_string_literal(             # <<<<<<<<<<<<<<
 *                 StringEncoding.escape_byte_string(compressed_bytes))
 *             w.putln(f'const char* const cstring = "{escaped_bytes}";', safe=True)
*/
    __pyx_t_7 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
    __Pyx_INCREF(__pyx_t_7);

    /* "Cython/Compiler/Code.py":2124
 *             has_if = True
 *             escaped_bytes = StringEncoding.split_string_literal(
 *                 StringEncoding.escape_byte_string(compressed_bytes))             # <<<<<<<<<<<<<<
 *             w.putln(f'const char* const cstring = "{escaped_bytes}";', safe=True)
 *             w.putln(f'PyObject *data = __Pyx_DecompressString(cstring, {len(compressed_bytes)}, {algo_number});')
*/
    __pyx_t_8 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_compressed_bytes};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_escape_byte_string, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split_string_literal, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_escaped_bytes, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2125
 *             escaped_bytes = StringEncoding.split_string_literal(
 *                 StringEncoding.escape_byte_string(compressed_bytes))
 *             w.putln(f'const char* const cstring = "{escaped_bytes}";', safe=True)             # <<<<<<<<<<<<<<
 *             w.putln(f'PyObject *data = __Pyx_DecompressString(cstring, {len(compressed_bytes)}, {algo_number});')
 *             w.putln(w.error_goto_if_null('data', self.module_pos))
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_escaped_bytes, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_const_char_const_cstring;
    __pyx_t_19[1] = __pyx_t_7;
    __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u__51;
    __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 29 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_t_8};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2125, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_safe, Py_True, __pyx_t_7, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2125, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2125, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2126
 *                 StringEncoding.escape_byte_string(compressed_bytes))
 *             w.putln(f'const char* const cstring = "{escaped_bytes}";', safe=True)
 *             w.putln(f'PyObject *data = __Pyx_DecompressString(cstring, {len(compressed_bytes)}, {algo_number});')             # <<<<<<<<<<<<<<
 *             w.putln(w.error_goto_if_null('data', self.module_pos))
 * 
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_18 = PyObject_Length(__pyx_v_compressed_bytes); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2126, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_18, 0, ' ', 'd'); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_algo_number, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_PyObject_data___Pyx_DecompressSt;
    __pyx_t_16[1] = __pyx_t_8;
    __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_16[3] = __pyx_t_6;
    __pyx_t_16[4] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_16, 5, 49 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2126, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2127
 *             w.putln(f'const char* const cstring = "{escaped_bytes}";', safe=True)
 *             w.putln(f'PyObject *data = __Pyx_DecompressString(cstring, {len(compressed_bytes)}, {algo_number});')
 *             w.putln(w.error_goto_if_null('data', self.module_pos))             # <<<<<<<<<<<<<<
 * 
 *             w.putln('const char* const bytes = __Pyx_PyBytes_AsString(data);')
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_mstate_global->__pyx_n_u_data, __pyx_t_8};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto_if_null, __pyx_callargs+__pyx_t_10, (3-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2127, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2127, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2129
 *             w.putln(w.error_goto_if_null('data', self.module_pos))
 * 
 *             w.putln('const char* const bytes = __Pyx_PyBytes_AsString(data);')             # <<<<<<<<<<<<<<
 *             w.putln("#if !CYTHON_ASSUME_SAFE_MACROS")
 *             w.putln(f'if (likely(bytes)); else {{ Py_DECREF(data); {w.error_goto(self.module_pos)} }}')
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_const_char_const_bytes___Pyx_PyB};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2130
 * 
 *             w.putln('const char* const bytes = __Pyx_PyBytes_AsString(data);')
 *             w.putln("#if !CYTHON_ASSUME_SAFE_MACROS")             # <<<<<<<<<<<<<<
 *             w.putln(f'if (likely(bytes)); else {{ Py_DECREF(data); {w.error_goto(self.module_pos)} }}')
 *             w.putln('#endif')
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_if_CYTHON_ASSUME_SAFE_MACROS};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2130, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2131
 *             w.putln('const char* const bytes = __Pyx_PyBytes_AsString(data);')
 *             w.putln("#if !CYTHON_ASSUME_SAFE_MACROS")
 *             w.putln(f'if (likely(bytes)); else {{ Py_DECREF(data); {w.error_goto(self.module_pos)} }}')             # <<<<<<<<<<<<<<
 *             w.putln('#endif')
 * 
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_error_goto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_if_likely_bytes_else_Py_DECREF_d;
    __pyx_t_19[1] = __pyx_t_8;
    __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u__57;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 44 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2131, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2132
 *             w.putln("#if !CYTHON_ASSUME_SAFE_MACROS")
 *             w.putln(f'if (likely(bytes)); else {{ Py_DECREF(data); {w.error_goto(self.module_pos)} }}')
 *             w.putln('#endif')             # <<<<<<<<<<<<<<
 * 
 *         if has_if:
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_endif};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2104
 * 
 *         has_if = False
 *         for algo_number, algo_name, compress in reversed(compression_algorithms):             # <<<<<<<<<<<<<<
 *             if compress is None:
 *                 continue
*/
    __pyx_L23_continue:;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2134
 *             w.putln('#endif')
 * 
 *         if has_if:             # <<<<<<<<<<<<<<
 *             w.putln(f"#else /[inserted by cython to avoid comment start]* compression: none ({len(concat_bytes)} bytes) *[inserted by cython to avoid comment closer]/")
 *         escaped_bytes = StringEncoding.split_string_literal(
*/
  if (__pyx_v_has_if) {

    /* "Cython/Compiler/Code.py":2135
 * 
 *         if has_if:
 *             w.putln(f"#else /[inserted by cython to avoid comment start]* compression: none ({len(concat_bytes)} bytes) *[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 *         escaped_bytes = StringEncoding.split_string_literal(
 *             StringEncoding.escape_byte_string(concat_bytes))
*/
    __pyx_t_2 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_2);
    if (unlikely(__pyx_v_concat_bytes == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 2135, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyBytes_GET_SIZE(__pyx_v_concat_bytes); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2135, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_3, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_else_compression_none;
    __pyx_t_19[1] = __pyx_t_6;
    __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u_bytes;
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 28 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 10, 127);
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2135, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2134
 *             w.putln('#endif')
 * 
 *         if has_if:             # <<<<<<<<<<<<<<
 *             w.putln(f"#else /[inserted by cython to avoid comment start]* compression: none ({len(concat_bytes)} bytes) *[inserted by cython to avoid comment closer]/")
 *         escaped_bytes = StringEncoding.split_string_literal(
*/
  }

  /* "Cython/Compiler/Code.py":2136
 *         if has_if:
 *             w.putln(f"#else /[inserted by cython to avoid comment start]* compression: none ({len(concat_bytes)} bytes) *[inserted by cython to avoid comment closer]/")
 *         escaped_bytes = StringEncoding.split_string_literal(             # <<<<<<<<<<<<<<
 *             StringEncoding.escape_byte_string(concat_bytes))
 *         w.putln(f'const char* const bytes = "{escaped_bytes}";', safe=True)
*/
  __pyx_t_7 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
  __Pyx_INCREF(__pyx_t_7);

  /* "Cython/Compiler/Code.py":2137
 *             w.putln(f"#else /[inserted by cython to avoid comment start]* compression: none ({len(concat_bytes)} bytes) *[inserted by cython to avoid comment closer]/")
 *         escaped_bytes = StringEncoding.split_string_literal(
 *             StringEncoding.escape_byte_string(concat_bytes))             # <<<<<<<<<<<<<<
 *         w.putln(f'const char* const bytes = "{escaped_bytes}";', safe=True)
 *         w.putln('PyObject *data = NULL;')  # Always allow xdecref below.
*/
  __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_StringEncoding;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_concat_bytes};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_escape_byte_string, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split_string_literal, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_XDECREF_SET(__pyx_v_escaped_bytes, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2138
 *         escaped_bytes = StringEncoding.split_string_literal(
 *             StringEncoding.escape_byte_string(concat_bytes))
 *         w.putln(f'const char* const bytes = "{escaped_bytes}";', safe=True)             # <<<<<<<<<<<<<<
 *         w.putln('PyObject *data = NULL;')  # Always allow xdecref below.
 *         w.putln("CYTHON_UNUSED_VAR(__Pyx_DecompressString);")
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_escaped_bytes, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_const_char_const_bytes;
  __pyx_t_19[1] = __pyx_t_7;
  __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u__51;
  __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 27 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_safe, Py_True, __pyx_t_7, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2138, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2139
 *             StringEncoding.escape_byte_string(concat_bytes))
 *         w.putln(f'const char* const bytes = "{escaped_bytes}";', safe=True)
 *         w.putln('PyObject *data = NULL;')  # Always allow xdecref below.             # <<<<<<<<<<<<<<
 *         w.putln("CYTHON_UNUSED_VAR(__Pyx_DecompressString);")
 *         if has_if:
*/
  __pyx_t_7 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_PyObject_data_NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2140
 *         w.putln(f'const char* const bytes = "{escaped_bytes}";', safe=True)
 *         w.putln('PyObject *data = NULL;')  # Always allow xdecref below.
 *         w.putln("CYTHON_UNUSED_VAR(__Pyx_DecompressString);")             # <<<<<<<<<<<<<<
 *         if has_if:
 *             w.putln("#endif")
*/
  __pyx_t_7 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED_VAR___Pyx_Decompre};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2141
 *         w.putln('PyObject *data = NULL;')  # Always allow xdecref below.
 *         w.putln("CYTHON_UNUSED_VAR(__Pyx_DecompressString);")
 *         if has_if:             # <<<<<<<<<<<<<<
 *             w.putln("#endif")
 * 
*/
  if (__pyx_v_has_if) {

    /* "Cython/Compiler/Code.py":2142
 *         w.putln("CYTHON_UNUSED_VAR(__Pyx_DecompressString);")
 *         if has_if:
 *             w.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *         # Populate stringtab.
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_endif};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2142, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2141
 *         w.putln('PyObject *data = NULL;')  # Always allow xdecref below.
 *         w.putln("CYTHON_UNUSED_VAR(__Pyx_DecompressString);")
 *         if has_if:             # <<<<<<<<<<<<<<
 *             w.putln("#endif")
 * 
*/
  }

  /* "Cython/Compiler/Code.py":2145
 * 
 *         # Populate stringtab.
 *         w.putln(f"PyObject **stringtab = {w.name_in_main_c_code_module_state(Naming.stringtab_cname)};")             # <<<<<<<<<<<<<<
 *         w.putln("Py_ssize_t pos = 0;")
 * 
*/
  __pyx_t_7 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_stringtab_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_PyObject_stringtab;
  __pyx_t_19[1] = __pyx_t_2;
  __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u__49;
  __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 23 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2146
 *         # Populate stringtab.
 *         w.putln(f"PyObject **stringtab = {w.name_in_main_c_code_module_state(Naming.stringtab_cname)};")
 *         w.putln("Py_ssize_t pos = 0;")             # <<<<<<<<<<<<<<
 * 
 *         # Unpack Unicode strings.
*/
  __pyx_t_8 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_kp_u_Py_ssize_t_pos_0};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2149
 * 
 *         # Unpack Unicode strings.
 *         if stringtab_bytes_start > 0:             # <<<<<<<<<<<<<<
 *             # Note: We could decode the concatenated Unicode string in one go, but this has a drawback:
 *             # If most strings are ASCII/Latin-1 or at most BMP, then a single non-BMP string in the mix
*/
  __pyx_t_12 = (__pyx_v_stringtab_bytes_start > 0);
  if (__pyx_t_12) {

    /* "Cython/Compiler/Code.py":2156
 *             # because it must copy Unicode slices between different character sizes.
 *             # We avoid this by repeatedly calling PyUnicode_DecodeUTF8() for each substring.
 *             w.putln(f"for ({'int' if stringtab_bytes_start < 2**15 else 'Py_ssize_t'} i = 0; i < {stringtab_bytes_start}; i++) {{")             # <<<<<<<<<<<<<<
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")
 * 
*/
    __pyx_t_8 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_12 = (__pyx_v_stringtab_bytes_start < 0x8000);
    if (__pyx_t_12) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int);
      __pyx_t_7 = __pyx_mstate_global->__pyx_n_u_int;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_ssize_t);
      __pyx_t_7 = __pyx_mstate_global->__pyx_n_u_Py_ssize_t;
    }
    __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_stringtab_bytes_start, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_for;
    __pyx_t_16[1] = __pyx_t_2;
    __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u_i_0_i_2;
    __pyx_t_16[3] = __pyx_t_7;
    __pyx_t_16[4] = __pyx_mstate_global->__pyx_kp_u_i_5;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_16, 5, 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 12 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2157
 *             # We avoid this by repeatedly calling PyUnicode_DecodeUTF8() for each substring.
 *             w.putln(f"for ({'int' if stringtab_bytes_start < 2**15 else 'Py_ssize_t'} i = 0; i < {stringtab_bytes_start}; i++) {{")
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")             # <<<<<<<<<<<<<<
 * 
 *             w.putln("PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);")
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_Py_ssize_t_bytes_length_index_i};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2159
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")
 * 
 *             w.putln("PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);")             # <<<<<<<<<<<<<<
 *             if first_interned >= 0:
 *                 w.putln(f"if (likely(string) && i >= {first_interned}) PyUnicode_InternInPlace(&string);")
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_PyObject_string_PyUnicode_Decode};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2160
 * 
 *             w.putln("PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);")
 *             if first_interned >= 0:             # <<<<<<<<<<<<<<
 *                 w.putln(f"if (likely(string) && i >= {first_interned}) PyUnicode_InternInPlace(&string);")
 *             w.putln("if (unlikely(!string)) {")
*/
    __pyx_t_12 = (__pyx_v_first_interned >= 0);
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":2161
 *             w.putln("PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);")
 *             if first_interned >= 0:
 *                 w.putln(f"if (likely(string) && i >= {first_interned}) PyUnicode_InternInPlace(&string);")             # <<<<<<<<<<<<<<
 *             w.putln("if (unlikely(!string)) {")
 *             w.putln("Py_XDECREF(data);")
*/
      __pyx_t_6 = __pyx_v_w;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_first_interned, 0, ' ', 'd'); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_if_likely_string_i;
      __pyx_t_19[1] = __pyx_t_8;
      __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u_PyUnicode_InternInPlace_string;
      __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 27 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 35, 127);
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_10 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2161, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2160
 * 
 *             w.putln("PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);")
 *             if first_interned >= 0:             # <<<<<<<<<<<<<<
 *                 w.putln(f"if (likely(string) && i >= {first_interned}) PyUnicode_InternInPlace(&string);")
 *             w.putln("if (unlikely(!string)) {")
*/
    }

    /* "Cython/Compiler/Code.py":2162
 *             if first_interned >= 0:
 *                 w.putln(f"if (likely(string) && i >= {first_interned}) PyUnicode_InternInPlace(&string);")
 *             w.putln("if (unlikely(!string)) {")             # <<<<<<<<<<<<<<
 *             w.putln("Py_XDECREF(data);")
 *             w.putln(w.error_goto(self.module_pos))
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_if_unlikely_string};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2162, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2163
 *                 w.putln(f"if (likely(string) && i >= {first_interned}) PyUnicode_InternInPlace(&string);")
 *             w.putln("if (unlikely(!string)) {")
 *             w.putln("Py_XDECREF(data);")             # <<<<<<<<<<<<<<
 *             w.putln(w.error_goto(self.module_pos))
 *             w.putln('}')
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_Py_XDECREF_data};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2164
 *             w.putln("if (unlikely(!string)) {")
 *             w.putln("Py_XDECREF(data);")
 *             w.putln(w.error_goto(self.module_pos))             # <<<<<<<<<<<<<<
 *             w.putln('}')
 * 
*/
    __pyx_t_7 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2164, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2164, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2165
 *             w.putln("Py_XDECREF(data);")
 *             w.putln(w.error_goto(self.module_pos))
 *             w.putln('}')             # <<<<<<<<<<<<<<
 * 
 *             w.putln("stringtab[i] = string;")
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2167
 *             w.putln('}')
 * 
 *             w.putln("stringtab[i] = string;")             # <<<<<<<<<<<<<<
 *             w.putln("pos += bytes_length;")
 *             w.putln("}")  # for()
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_stringtab_i_string};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2168
 * 
 *             w.putln("stringtab[i] = string;")
 *             w.putln("pos += bytes_length;")             # <<<<<<<<<<<<<<
 *             w.putln("}")  # for()
 * 
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_pos_bytes_length};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2168, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2169
 *             w.putln("stringtab[i] = string;")
 *             w.putln("pos += bytes_length;")
 *             w.putln("}")  # for()             # <<<<<<<<<<<<<<
 * 
 *         # Unpack byte strings.
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2149
 * 
 *         # Unpack Unicode strings.
 *         if stringtab_bytes_start > 0:             # <<<<<<<<<<<<<<
 *             # Note: We could decode the concatenated Unicode string in one go, but this has a drawback:
 *             # If most strings are ASCII/Latin-1 or at most BMP, then a single non-BMP string in the mix
*/
  }

  /* "Cython/Compiler/Code.py":2172
 * 
 *         # Unpack byte strings.
 *         if stringtab_bytes_start < len(index):             # <<<<<<<<<<<<<<
 *             w.putln(f"for ({'int' if len(index) < 2**15 else 'Py_ssize_t'} i = {stringtab_bytes_start}; i < {len(index)}; i++) {{")
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")
*/
  __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_index); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2172, __pyx_L1_error)
  __pyx_t_12 = (__pyx_v_stringtab_bytes_start < __pyx_t_3);
  if (__pyx_t_12) {

    /* "Cython/Compiler/Code.py":2173
 *         # Unpack byte strings.
 *         if stringtab_bytes_start < len(index):
 *             w.putln(f"for ({'int' if len(index) < 2**15 else 'Py_ssize_t'} i = {stringtab_bytes_start}; i < {len(index)}; i++) {{")             # <<<<<<<<<<<<<<
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")
 * 
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_index); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2173, __pyx_L1_error)
    __pyx_t_12 = (__pyx_t_3 < 0x8000);
    if (__pyx_t_12) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int);
      __pyx_t_7 = __pyx_mstate_global->__pyx_n_u_int;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_ssize_t);
      __pyx_t_7 = __pyx_mstate_global->__pyx_n_u_Py_ssize_t;
    }
    __pyx_t_2 = __Pyx_PyUnicode_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_stringtab_bytes_start, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_index); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2173, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_3, 0, ' ', 'd'); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_14[0] = __pyx_mstate_global->__pyx_kp_u_for;
    __pyx_t_14[1] = __pyx_t_2;
    __pyx_t_14[2] = __pyx_mstate_global->__pyx_kp_u_i_6;
    __pyx_t_14[3] = __pyx_t_7;
    __pyx_t_14[4] = __pyx_mstate_global->__pyx_kp_u_i_7;
    __pyx_t_14[5] = __pyx_t_8;
    __pyx_t_14[6] = __pyx_mstate_global->__pyx_kp_u_i_5;
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_14, 7, 5 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2174
 *         if stringtab_bytes_start < len(index):
 *             w.putln(f"for ({'int' if len(index) < 2**15 else 'Py_ssize_t'} i = {stringtab_bytes_start}; i < {len(index)}; i++) {{")
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")             # <<<<<<<<<<<<<<
 * 
 *             w.putln("PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);")
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Py_ssize_t_bytes_length_index_i};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2176
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")
 * 
 *             w.putln("PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);")             # <<<<<<<<<<<<<<
 *             w.putln("stringtab[i] = string;")
 *             w.putln("pos += bytes_length;")
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_PyObject_string_PyBytes_FromStri};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2177
 * 
 *             w.putln("PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);")
 *             w.putln("stringtab[i] = string;")             # <<<<<<<<<<<<<<
 *             w.putln("pos += bytes_length;")
 * 
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_stringtab_i_string};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2178
 *             w.putln("PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);")
 *             w.putln("stringtab[i] = string;")
 *             w.putln("pos += bytes_length;")             # <<<<<<<<<<<<<<
 * 
 *             w.putln("if (unlikely(!string)) {")
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_pos_bytes_length};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2178, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2180
 *             w.putln("pos += bytes_length;")
 * 
 *             w.putln("if (unlikely(!string)) {")             # <<<<<<<<<<<<<<
 *             w.putln("Py_XDECREF(data);")
 *             w.putln(w.error_goto(self.module_pos))
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_if_unlikely_string};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2181
 * 
 *             w.putln("if (unlikely(!string)) {")
 *             w.putln("Py_XDECREF(data);")             # <<<<<<<<<<<<<<
 *             w.putln(w.error_goto(self.module_pos))
 *             w.putln('}')
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Py_XDECREF_data};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2182
 *             w.putln("if (unlikely(!string)) {")
 *             w.putln("Py_XDECREF(data);")
 *             w.putln(w.error_goto(self.module_pos))             # <<<<<<<<<<<<<<
 *             w.putln('}')
 * 
*/
    __pyx_t_5 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_8 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2182, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2182, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2183
 *             w.putln("Py_XDECREF(data);")
 *             w.putln(w.error_goto(self.module_pos))
 *             w.putln('}')             # <<<<<<<<<<<<<<
 * 
 *             w.putln("}")  # for()
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2185
 *             w.putln('}')
 * 
 *             w.putln("}")  # for()             # <<<<<<<<<<<<<<
 * 
 *         w.putln("Py_XDECREF(data);")
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2185, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2172
 * 
 *         # Unpack byte strings.
 *         if stringtab_bytes_start < len(index):             # <<<<<<<<<<<<<<
 *             w.putln(f"for ({'int' if len(index) < 2**15 else 'Py_ssize_t'} i = {stringtab_bytes_start}; i < {len(index)}; i++) {{")
 *             w.putln("Py_ssize_t bytes_length = index[i].length;")
*/
  }

  /* "Cython/Compiler/Code.py":2187
 *             w.putln("}")  # for()
 * 
 *         w.putln("Py_XDECREF(data);")             # <<<<<<<<<<<<<<
 * 
 *         # Set up hash values.
*/
  __pyx_t_6 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_Py_XDECREF_data};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2190
 * 
 *         # Set up hash values.
 *         w.putln(f"for (Py_ssize_t i = 0; i < {len(index)}; i++) {{")             # <<<<<<<<<<<<<<
 *         w.putln("if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {")
 *         w.putln(w.error_goto(self.module_pos))
*/
  __pyx_t_6 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_index); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2190, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_3, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_19[0] = __pyx_mstate_global->__pyx_kp_u_for_Py_ssize_t_i_0_i;
  __pyx_t_19[1] = __pyx_t_5;
  __pyx_t_19[2] = __pyx_mstate_global->__pyx_kp_u_i_5;
  __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_19, 3, 27 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 8, 127);
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2191
 *         # Set up hash values.
 *         w.putln(f"for (Py_ssize_t i = 0; i < {len(index)}; i++) {{")
 *         w.putln("if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {")             # <<<<<<<<<<<<<<
 *         w.putln(w.error_goto(self.module_pos))
 *         w.putln('}')
*/
  __pyx_t_7 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_if_unlikely_PyObject_Hash_string};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2192
 *         w.putln(f"for (Py_ssize_t i = 0; i < {len(index)}; i++) {{")
 *         w.putln("if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {")
 *         w.putln(w.error_goto(self.module_pos))             # <<<<<<<<<<<<<<
 *         w.putln('}')
 *         w.putln('}')
*/
  __pyx_t_7 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_5 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2193
 *         w.putln("if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {")
 *         w.putln(w.error_goto(self.module_pos))
 *         w.putln('}')             # <<<<<<<<<<<<<<
 *         w.putln('}')
 * 
*/
  __pyx_t_6 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2194
 *         w.putln(w.error_goto(self.module_pos))
 *         w.putln('}')
 *         w.putln('}')             # <<<<<<<<<<<<<<
 * 
 *         # Unicode strings are not trivially immortal but require certain rules.
*/
  __pyx_t_6 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2199
 *         # See https://github.com/python/cpython/blob/920de7ccdcfa7284b6d23a124771b17c66dd3e4f/Objects/unicodeobject.c#L713-L739
 *         # But we can make bytes strings immortal.
 *         if stringtab_bytes_start < len(index):             # <<<<<<<<<<<<<<
 *             self.immortalize_constants(f"stringtab + {stringtab_bytes_start}", len(index) - stringtab_bytes_start, w)
 * 
*/
  __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_index); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2199, __pyx_L1_error)
  __pyx_t_12 = (__pyx_v_stringtab_bytes_start < __pyx_t_3);
  if (__pyx_t_12) {

    /* "Cython/Compiler/Code.py":2200
 *         # But we can make bytes strings immortal.
 *         if stringtab_bytes_start < len(index):
 *             self.immortalize_constants(f"stringtab + {stringtab_bytes_start}", len(index) - stringtab_bytes_start, w)             # <<<<<<<<<<<<<<
 * 
 *         w.putln("}")  # close block
*/
    __pyx_t_6 = __pyx_v_self;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_stringtab_bytes_start, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_stringtab, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_index); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2200, __pyx_L1_error)
    __pyx_t_7 = PyLong_FromSsize_t((__pyx_t_3 - __pyx_v_stringtab_bytes_start)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_t_8, __pyx_t_7, __pyx_v_w};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_immortalize_constants, __pyx_callargs+__pyx_t_10, (4-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2199
 *         # See https://github.com/python/cpython/blob/920de7ccdcfa7284b6d23a124771b17c66dd3e4f/Objects/unicodeobject.c#L713-L739
 *         # But we can make bytes strings immortal.
 *         if stringtab_bytes_start < len(index):             # <<<<<<<<<<<<<<
 *             self.immortalize_constants(f"stringtab + {stringtab_bytes_start}", len(index) - stringtab_bytes_start, w)
 * 
*/
  }

  /* "Cython/Compiler/Code.py":2202
 *             self.immortalize_constants(f"stringtab + {stringtab_bytes_start}", len(index) - stringtab_bytes_start, w)
 * 
 *         w.putln("}")  # close block             # <<<<<<<<<<<<<<
 * 
 *     def generate_codeobject_constants(self):
*/
  __pyx_t_7 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2062
 *         self.generate_pystring_constants(py_unicode_consts, py_bytes_consts)
 * 
 *     def generate_pystring_constants(self, text_strings: list, byte_strings: list):             # <<<<<<<<<<<<<<
 *         # Concatenate all strings into one byte sequence and build a length index array.
 *         defines = self.parts['constant_name_defines']
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_pystring_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_defines);
  __Pyx_XDECREF(__pyx_v_bytes_values);
  __Pyx_XDECREF(__pyx_v_is_interned);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_text);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XDECREF(__pyx_v_index);
  __Pyx_XDECREF(__pyx_v_concat_bytes);
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_algo_number);
  __Pyx_XDECREF(__pyx_v_algo_name);
  __Pyx_XDECREF(__pyx_v_compress);
  __Pyx_XDECREF(__pyx_v_compressed_bytes);
  __Pyx_XDECREF(__pyx_v_guard);
  __Pyx_XDECREF(__pyx_v_escaped_bytes);
  __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_length);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2204
 *         w.putln("}")  # close block
 * 
 *     def generate_codeobject_constants(self):             # <<<<<<<<<<<<<<
 *         w = self.parts['init_codeobjects']
 *         init_function = (
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_69generate_codeobject_constants(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_69generate_codeobject_constants = {"generate_codeobject_constants", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_69generate_codeobject_constants, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_69generate_codeobject_constants(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_codeobject_constants (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_68generate_codeobject_constants(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_68generate_codeobject_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_w = NULL;
  PyObject *__pyx_v_init_function = NULL;
  long __pyx_v_max_flags;
  PyObject *__pyx_v_max_func_args = NULL;
  PyObject *__pyx_v_max_kwonly_args = NULL;
  PyObject *__pyx_v_max_posonly_args = NULL;
  Py_ssize_t __pyx_v_max_vars;
  PyObject *__pyx_v_max_line = NULL;
  PyObject *__pyx_v_node = NULL;
  PyObject *__pyx_v_def_node = NULL;
  Py_ssize_t __pyx_v_code_object_count;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4[5];
  int __pyx_t_5;
  int __pyx_t_6;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9[3];
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  Py_ssize_t __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  Py_ssize_t __pyx_t_14;
  Py_ssize_t __pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22[13];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_codeobject_constants", 0);

  /* "Cython/Compiler/Code.py":2205
 * 
 *     def generate_codeobject_constants(self):
 *         w = self.parts['init_codeobjects']             # <<<<<<<<<<<<<<
 *         init_function = (
 *             f"int __Pyx_CreateCodeObjects({Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})"
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_init_codeobjects); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_w = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2207
 *         w = self.parts['init_codeobjects']
 *         init_function = (
 *             f"int __Pyx_CreateCodeObjects({Naming.modulestatetype_cname} *{Naming.modulestatevalue_cname})"             # <<<<<<<<<<<<<<
 *         )
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatetype_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_int___Pyx_CreateCodeObjects;
  __pyx_t_4[1] = __pyx_t_1;
  __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__41;
  __pyx_t_4[3] = __pyx_t_3;
  __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u__7;
  __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, 28 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_init_function = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2210
 *         )
 * 
 *         if not self.codeobject_constants:             # <<<<<<<<<<<<<<
 *             w.start_initcfunc(init_function)
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_codeobject_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 2210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_5);
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":2211
 * 
 *         if not self.codeobject_constants:
 *             w.start_initcfunc(init_function)             # <<<<<<<<<<<<<<
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 *             w.putln("return 0;")
*/
    __pyx_t_3 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_init_function};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2211, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2212
 *         if not self.codeobject_constants:
 *             w.start_initcfunc(init_function)
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")             # <<<<<<<<<<<<<<
 *             w.putln("return 0;")
 *             w.exit_cfunc_scope()
*/
    __pyx_t_3 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED_VAR;
    __pyx_t_9[1] = __pyx_t_8;
    __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2212, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2213
 *             w.start_initcfunc(init_function)
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 *             w.putln("return 0;")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 *             w.putln("}")
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_return_0};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2213, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2214
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
 *             w.putln("return 0;")
 *             w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 *             w.putln("}")
 *             return
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2214, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2215
 *             w.putln("return 0;")
 *             w.exit_cfunc_scope()
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             return
 * 
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2216
 *             w.exit_cfunc_scope()
 *             w.putln("}")
 *             return             # <<<<<<<<<<<<<<
 * 
 *         # Create a downsized config struct and build code objects from it.
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2210
 *         )
 * 
 *         if not self.codeobject_constants:             # <<<<<<<<<<<<<<
 *             w.start_initcfunc(init_function)
 *             w.putln(f"CYTHON_UNUSED_VAR({Naming.modulestatevalue_cname});")
*/
  }

  /* "Cython/Compiler/Code.py":2219
 * 
 *         # Create a downsized config struct and build code objects from it.
 *         max_flags = 0x3ff  # to be adapted when we start using new flags             # <<<<<<<<<<<<<<
 *         max_func_args = 1
 *         max_kwonly_args = 1
*/
  __pyx_v_max_flags = 0x3ff;

  /* "Cython/Compiler/Code.py":2220
 *         # Create a downsized config struct and build code objects from it.
 *         max_flags = 0x3ff  # to be adapted when we start using new flags
 *         max_func_args = 1             # <<<<<<<<<<<<<<
 *         max_kwonly_args = 1
 *         max_posonly_args = 1
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
  __pyx_v_max_func_args = __pyx_mstate_global->__pyx_int_1;

  /* "Cython/Compiler/Code.py":2221
 *         max_flags = 0x3ff  # to be adapted when we start using new flags
 *         max_func_args = 1
 *         max_kwonly_args = 1             # <<<<<<<<<<<<<<
 *         max_posonly_args = 1
 *         max_vars = 1
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
  __pyx_v_max_kwonly_args = __pyx_mstate_global->__pyx_int_1;

  /* "Cython/Compiler/Code.py":2222
 *         max_func_args = 1
 *         max_kwonly_args = 1
 *         max_posonly_args = 1             # <<<<<<<<<<<<<<
 *         max_vars = 1
 *         max_line = 1
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
  __pyx_v_max_posonly_args = __pyx_mstate_global->__pyx_int_1;

  /* "Cython/Compiler/Code.py":2223
 *         max_kwonly_args = 1
 *         max_posonly_args = 1
 *         max_vars = 1             # <<<<<<<<<<<<<<
 *         max_line = 1
 *         for node in self.codeobject_constants:
*/
  __pyx_v_max_vars = 1;

  /* "Cython/Compiler/Code.py":2224
 *         max_posonly_args = 1
 *         max_vars = 1
 *         max_line = 1             # <<<<<<<<<<<<<<
 *         for node in self.codeobject_constants:
 *             def_node = node.def_node
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
  __pyx_v_max_line = __pyx_mstate_global->__pyx_int_1;

  /* "Cython/Compiler/Code.py":2225
 *         max_vars = 1
 *         max_line = 1
 *         for node in self.codeobject_constants:             # <<<<<<<<<<<<<<
 *             def_node = node.def_node
 *             if not def_node.is_generator_expression:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_codeobject_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_10 = 0;
    __pyx_t_11 = NULL;
  } else {
    __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2225, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(!__pyx_t_11)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2225, __pyx_L1_error)
          #endif
          if (__pyx_t_10 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_10;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2225, __pyx_L1_error)
          #endif
          if (__pyx_t_10 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_10);
        #endif
        ++__pyx_t_10;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2225, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_11(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 2225, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2226
 *         max_line = 1
 *         for node in self.codeobject_constants:
 *             def_node = node.def_node             # <<<<<<<<<<<<<<
 *             if not def_node.is_generator_expression:
 *                 max_func_args = max(max_func_args, len(def_node.args) - def_node.num_kwonly_args)
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_mstate_global->__pyx_n_u_def_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_def_node, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2227
 *         for node in self.codeobject_constants:
 *             def_node = node.def_node
 *             if not def_node.is_generator_expression:             # <<<<<<<<<<<<<<
 *                 max_func_args = max(max_func_args, len(def_node.args) - def_node.num_kwonly_args)
 *                 max_kwonly_args = max(max_kwonly_args, def_node.num_kwonly_args)
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_def_node, __pyx_mstate_global->__pyx_n_u_is_generator_expression); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 2227, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_5 = (!__pyx_t_6);
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":2228
 *             def_node = node.def_node
 *             if not def_node.is_generator_expression:
 *                 max_func_args = max(max_func_args, len(def_node.args) - def_node.num_kwonly_args)             # <<<<<<<<<<<<<<
 *                 max_kwonly_args = max(max_kwonly_args, def_node.num_kwonly_args)
 *                 max_posonly_args = max(max_posonly_args, def_node.num_posonly_args)
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_def_node, __pyx_mstate_global->__pyx_n_u_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_12 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_def_node, __pyx_mstate_global->__pyx_n_u_num_kwonly_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = PyNumber_Subtract(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_INCREF(__pyx_v_max_func_args);
      __pyx_t_3 = __pyx_v_max_func_args;
      __pyx_t_13 = PyObject_RichCompare(__pyx_t_8, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (__pyx_t_5) {
        __Pyx_INCREF(__pyx_t_8);
        __pyx_t_2 = __pyx_t_8;
      } else {
        __Pyx_INCREF(__pyx_t_3);
        __pyx_t_2 = __pyx_t_3;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __pyx_t_2;
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF_SET(__pyx_v_max_func_args, __pyx_t_8);
      __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":2229
 *             if not def_node.is_generator_expression:
 *                 max_func_args = max(max_func_args, len(def_node.args) - def_node.num_kwonly_args)
 *                 max_kwonly_args = max(max_kwonly_args, def_node.num_kwonly_args)             # <<<<<<<<<<<<<<
 *                 max_posonly_args = max(max_posonly_args, def_node.num_posonly_args)
 *             max_vars = max(max_vars, len(node.varnames))
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_def_node, __pyx_mstate_global->__pyx_n_u_num_kwonly_args); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2229, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_v_max_kwonly_args);
      __pyx_t_2 = __pyx_v_max_kwonly_args;
      __pyx_t_13 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2229, __pyx_L1_error)
      __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 2229, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (__pyx_t_5) {
        __Pyx_INCREF(__pyx_t_8);
        __pyx_t_3 = __pyx_t_8;
      } else {
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_3 = __pyx_t_2;
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __pyx_t_3;
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF_SET(__pyx_v_max_kwonly_args, __pyx_t_8);
      __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":2230
 *                 max_func_args = max(max_func_args, len(def_node.args) - def_node.num_kwonly_args)
 *                 max_kwonly_args = max(max_kwonly_args, def_node.num_kwonly_args)
 *                 max_posonly_args = max(max_posonly_args, def_node.num_posonly_args)             # <<<<<<<<<<<<<<
 *             max_vars = max(max_vars, len(node.varnames))
 *             max_line = max(max_line, def_node.pos[1])
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_def_node, __pyx_mstate_global->__pyx_n_u_num_posonly_args); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2230, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_v_max_posonly_args);
      __pyx_t_3 = __pyx_v_max_posonly_args;
      __pyx_t_13 = PyObject_RichCompare(__pyx_t_8, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2230, __pyx_L1_error)
      __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 2230, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (__pyx_t_5) {
        __Pyx_INCREF(__pyx_t_8);
        __pyx_t_2 = __pyx_t_8;
      } else {
        __Pyx_INCREF(__pyx_t_3);
        __pyx_t_2 = __pyx_t_3;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __pyx_t_2;
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF_SET(__pyx_v_max_posonly_args, __pyx_t_8);
      __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":2227
 *         for node in self.codeobject_constants:
 *             def_node = node.def_node
 *             if not def_node.is_generator_expression:             # <<<<<<<<<<<<<<
 *                 max_func_args = max(max_func_args, len(def_node.args) - def_node.num_kwonly_args)
 *                 max_kwonly_args = max(max_kwonly_args, def_node.num_kwonly_args)
*/
    }

    /* "Cython/Compiler/Code.py":2231
 *                 max_kwonly_args = max(max_kwonly_args, def_node.num_kwonly_args)
 *                 max_posonly_args = max(max_posonly_args, def_node.num_posonly_args)
 *             max_vars = max(max_vars, len(node.varnames))             # <<<<<<<<<<<<<<
 *             max_line = max(max_line, def_node.pos[1])
 * 
*/
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_mstate_global->__pyx_n_u_varnames); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_12 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2231, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_14 = __pyx_v_max_vars;
    __pyx_t_5 = (__pyx_t_12 > __pyx_t_14);
    if (__pyx_t_5) {
      __pyx_t_15 = __pyx_t_12;
    } else {
      __pyx_t_15 = __pyx_t_14;
    }
    __pyx_v_max_vars = __pyx_t_15;

    /* "Cython/Compiler/Code.py":2232
 *                 max_posonly_args = max(max_posonly_args, def_node.num_posonly_args)
 *             max_vars = max(max_vars, len(node.varnames))
 *             max_line = max(max_line, def_node.pos[1])             # <<<<<<<<<<<<<<
 * 
 *         w.put(textwrap.dedent(f"""\
*/
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_def_node, __pyx_mstate_global->__pyx_n_u_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_8, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_INCREF(__pyx_v_max_line);
    __pyx_t_8 = __pyx_v_max_line;
    __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2232, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 2232, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (__pyx_t_5) {
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = __pyx_t_2;
    } else {
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_3 = __pyx_t_8;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __pyx_t_3;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_max_line, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2225
 *         max_vars = 1
 *         max_line = 1
 *         for node in self.codeobject_constants:             # <<<<<<<<<<<<<<
 *             def_node = node.def_node
 *             if not def_node.is_generator_expression:
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2234
 *             max_line = max(max_line, def_node.pos[1])
 * 
 *         w.put(textwrap.dedent(f"""\             # <<<<<<<<<<<<<<
 *         typedef struct {{
 *             unsigned int argcount : {max_func_args.bit_length()};
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_8 = __pyx_v_6Cython_8Compiler_4Code_textwrap;
  __Pyx_INCREF(__pyx_t_8);

  /* "Cython/Compiler/Code.py":2236
 *         w.put(textwrap.dedent(f"""\
 *         typedef struct {{
 *             unsigned int argcount : {max_func_args.bit_length()};             # <<<<<<<<<<<<<<
 *             unsigned int num_posonly_args : {max_posonly_args.bit_length()};
 *             unsigned int num_kwonly_args : {max_kwonly_args.bit_length()};
*/
  __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_max_func_args, __pyx_mstate_global->__pyx_n_u_bit_length); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_16 = __Pyx_PyObject_CallNoArg(__pyx_t_13); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_t_16, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "Cython/Compiler/Code.py":2237
 *         typedef struct {{
 *             unsigned int argcount : {max_func_args.bit_length()};
 *             unsigned int num_posonly_args : {max_posonly_args.bit_length()};             # <<<<<<<<<<<<<<
 *             unsigned int num_kwonly_args : {max_kwonly_args.bit_length()};
 *             unsigned int nlocals : {max_vars.bit_length()};
*/
  __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_max_posonly_args, __pyx_mstate_global->__pyx_n_u_bit_length); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = __Pyx_PyObject_CallNoArg(__pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_t_17, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

  /* "Cython/Compiler/Code.py":2238
 *             unsigned int argcount : {max_func_args.bit_length()};
 *             unsigned int num_posonly_args : {max_posonly_args.bit_length()};
 *             unsigned int num_kwonly_args : {max_kwonly_args.bit_length()};             # <<<<<<<<<<<<<<
 *             unsigned int nlocals : {max_vars.bit_length()};
 *             unsigned int flags : {max_flags.bit_length()};
*/
  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_max_kwonly_args, __pyx_mstate_global->__pyx_n_u_bit_length); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = __Pyx_PyObject_CallNoArg(__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_t_18, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "Cython/Compiler/Code.py":2239
 *             unsigned int num_posonly_args : {max_posonly_args.bit_length()};
 *             unsigned int num_kwonly_args : {max_kwonly_args.bit_length()};
 *             unsigned int nlocals : {max_vars.bit_length()};             # <<<<<<<<<<<<<<
 *             unsigned int flags : {max_flags.bit_length()};
 *             unsigned int first_line : {max_line.bit_length()};
*/
  __pyx_t_18 = PyLong_FromSsize_t(__pyx_v_max_vars); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_bit_length); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 2239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_19);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PyObject_CallNoArg(__pyx_t_19); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
  __pyx_t_19 = __Pyx_PyObject_FormatSimple(__pyx_t_18, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 2239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_19);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "Cython/Compiler/Code.py":2240
 *             unsigned int num_kwonly_args : {max_kwonly_args.bit_length()};
 *             unsigned int nlocals : {max_vars.bit_length()};
 *             unsigned int flags : {max_flags.bit_length()};             # <<<<<<<<<<<<<<
 *             unsigned int first_line : {max_line.bit_length()};
 *         }} __Pyx_PyCode_New_function_description;
*/
  __pyx_t_18 = __Pyx_PyLong_From_long(__pyx_v_max_flags); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_bit_length); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_20);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PyObject_CallNoArg(__pyx_t_20); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
  __pyx_t_20 = __Pyx_PyObject_FormatSimple(__pyx_t_18, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_20);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

  /* "Cython/Compiler/Code.py":2241
 *             unsigned int nlocals : {max_vars.bit_length()};
 *             unsigned int flags : {max_flags.bit_length()};
 *             unsigned int first_line : {max_line.bit_length()};             # <<<<<<<<<<<<<<
 *         }} __Pyx_PyCode_New_function_description;
 *         """))
*/
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_max_line, __pyx_mstate_global->__pyx_n_u_bit_length); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_21 = __Pyx_PyObject_CallNoArg(__pyx_t_18); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_21);
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_18 = __Pyx_PyObject_FormatSimple(__pyx_t_21, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
  __pyx_t_22[0] = __pyx_mstate_global->__pyx_kp_u_typedef_struct_unsigned_int_arg;
  __pyx_t_22[1] = __pyx_t_13;
  __pyx_t_22[2] = __pyx_mstate_global->__pyx_kp_u_unsigned_int_num_posonly_args;
  __pyx_t_22[3] = __pyx_t_16;
  __pyx_t_22[4] = __pyx_mstate_global->__pyx_kp_u_unsigned_int_num_kwonly_args;
  __pyx_t_22[5] = __pyx_t_17;
  __pyx_t_22[6] = __pyx_mstate_global->__pyx_kp_u_unsigned_int_nlocals;
  __pyx_t_22[7] = __pyx_t_19;
  __pyx_t_22[8] = __pyx_mstate_global->__pyx_kp_u_unsigned_int_flags;
  __pyx_t_22[9] = __pyx_t_20;
  __pyx_t_22[10] = __pyx_mstate_global->__pyx_kp_u_unsigned_int_first_line;
  __pyx_t_22[11] = __pyx_t_18;
  __pyx_t_22[12] = __pyx_mstate_global->__pyx_kp_u_Pyx_PyCode_New_function_descr;

  /* "Cython/Compiler/Code.py":2234
 *             max_line = max(max_line, def_node.pos[1])
 * 
 *         w.put(textwrap.dedent(f"""\             # <<<<<<<<<<<<<<
 *         typedef struct {{
 *             unsigned int argcount : {max_func_args.bit_length()};
*/
  __pyx_t_21 = __Pyx_PyUnicode_Join(__pyx_t_22, 13, 61 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13) + 46 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16) + 45 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_17) + 37 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_19) + 35 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_20) + 40 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_18) + 59, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_19) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_20) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_18));
  if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_21);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
  __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_21};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_dedent, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2245
 *         """))
 * 
 *         self.use_utility_code(UtilityCode.load_cached("NewCodeObj", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 * 
 *         w.start_initcfunc(init_function)
*/
  __pyx_t_3 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[16], NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_21);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_21};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2247
 *         self.use_utility_code(UtilityCode.load_cached("NewCodeObj", "ModuleSetupCode.c"))
 * 
 *         w.start_initcfunc(init_function)             # <<<<<<<<<<<<<<
 * 
 *         w.putln("PyObject* tuple_dedup_map = PyDict_New();")
*/
  __pyx_t_21 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_21);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_21, __pyx_v_init_function};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2249
 *         w.start_initcfunc(init_function)
 * 
 *         w.putln("PyObject* tuple_dedup_map = PyDict_New();")             # <<<<<<<<<<<<<<
 *         w.putln("if (unlikely(!tuple_dedup_map)) return -1;")
 * 
*/
  __pyx_t_21 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_21);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_21, __pyx_mstate_global->__pyx_kp_u_PyObject_tuple_dedup_map_PyDict};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2250
 * 
 *         w.putln("PyObject* tuple_dedup_map = PyDict_New();")
 *         w.putln("if (unlikely(!tuple_dedup_map)) return -1;")             # <<<<<<<<<<<<<<
 * 
 *         for node in self.codeobject_constants:
*/
  __pyx_t_21 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_21);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_21, __pyx_mstate_global->__pyx_kp_u_if_unlikely_tuple_dedup_map_retu};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2252
 *         w.putln("if (unlikely(!tuple_dedup_map)) return -1;")
 * 
 *         for node in self.codeobject_constants:             # <<<<<<<<<<<<<<
 *             node.generate_codeobj(w, "bad")
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_codeobject_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_21 = __pyx_t_1; __Pyx_INCREF(__pyx_t_21);
    __pyx_t_10 = 0;
    __pyx_t_11 = NULL;
  } else {
    __pyx_t_10 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
    __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_21); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2252, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_11)) {
      if (likely(PyList_CheckExact(__pyx_t_21))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_21);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2252, __pyx_L1_error)
          #endif
          if (__pyx_t_10 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_21, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_10;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_21);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2252, __pyx_L1_error)
          #endif
          if (__pyx_t_10 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_10));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_21, __pyx_t_10);
        #endif
        ++__pyx_t_10;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2252, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_11(__pyx_t_21);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 2252, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2253
 * 
 *         for node in self.codeobject_constants:
 *             node.generate_codeobj(w, "bad")             # <<<<<<<<<<<<<<
 * 
 *         w.putln("Py_DECREF(tuple_dedup_map);")
*/
    __pyx_t_3 = __pyx_v_node;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_w, __pyx_mstate_global->__pyx_n_u_bad};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_codeobj, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2252
 *         w.putln("if (unlikely(!tuple_dedup_map)) return -1;")
 * 
 *         for node in self.codeobject_constants:             # <<<<<<<<<<<<<<
 *             node.generate_codeobj(w, "bad")
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2255
 *             node.generate_codeobj(w, "bad")
 * 
 *         w.putln("Py_DECREF(tuple_dedup_map);")             # <<<<<<<<<<<<<<
 *         w.putln("return 0;")
 * 
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Py_DECREF_tuple_dedup_map};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2256
 * 
 *         w.putln("Py_DECREF(tuple_dedup_map);")
 *         w.putln("return 0;")             # <<<<<<<<<<<<<<
 * 
 *         w.putln("bad:")
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_return_0};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2258
 *         w.putln("return 0;")
 * 
 *         w.putln("bad:")             # <<<<<<<<<<<<<<
 *         w.putln("Py_DECREF(tuple_dedup_map);")
 *         w.putln("return -1;")
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_bad_2};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2259
 * 
 *         w.putln("bad:")
 *         w.putln("Py_DECREF(tuple_dedup_map);")             # <<<<<<<<<<<<<<
 *         w.putln("return -1;")
 *         w.exit_cfunc_scope()
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Py_DECREF_tuple_dedup_map};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2260
 *         w.putln("bad:")
 *         w.putln("Py_DECREF(tuple_dedup_map);")
 *         w.putln("return -1;")             # <<<<<<<<<<<<<<
 *         w.exit_cfunc_scope()
 *         w.putln("}")
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_return_1};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2261
 *         w.putln("Py_DECREF(tuple_dedup_map);")
 *         w.putln("return -1;")
 *         w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 *         w.putln("}")
 * 
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2262
 *         w.putln("return -1;")
 *         w.exit_cfunc_scope()
 *         w.putln("}")             # <<<<<<<<<<<<<<
 * 
 *         code_object_count = len(self.codeobject_constants)
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2264
 *         w.putln("}")
 * 
 *         code_object_count = len(self.codeobject_constants)             # <<<<<<<<<<<<<<
 *         self.parts['module_state'].putln(f"PyObject *{Naming.codeobjtab_cname}[{code_object_count}];")
 *         # The code objects that we generate only contain plain constants and can never participate in reference cycles.
*/
  __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_codeobject_constants); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_21);
  __pyx_t_10 = PyObject_Length(__pyx_t_21); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2264, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
  __pyx_v_code_object_count = __pyx_t_10;

  /* "Cython/Compiler/Code.py":2265
 * 
 *         code_object_count = len(self.codeobject_constants)
 *         self.parts['module_state'].putln(f"PyObject *{Naming.codeobjtab_cname}[{code_object_count}];")             # <<<<<<<<<<<<<<
 *         # The code objects that we generate only contain plain constants and can never participate in reference cycles.
 *         self._generate_module_array_traverse_and_clear(Naming.codeobjtab_cname, code_object_count, may_have_refcycles=False)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_module_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __pyx_t_2;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_codeobjtab_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_code_object_count, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_PyObject;
  __pyx_t_4[1] = __pyx_t_8;
  __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__22;
  __pyx_t_4[3] = __pyx_t_3;
  __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u__48;
  __pyx_t_18 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
  if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_18};
    __pyx_t_21 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2267
 *         self.parts['module_state'].putln(f"PyObject *{Naming.codeobjtab_cname}[{code_object_count}];")
 *         # The code objects that we generate only contain plain constants and can never participate in reference cycles.
 *         self._generate_module_array_traverse_and_clear(Naming.codeobjtab_cname, code_object_count, may_have_refcycles=False)             # <<<<<<<<<<<<<<
 * 
 *     def generate_num_constants(self):
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_codeobjtab_cname); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_code_object_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_18, __pyx_t_1};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_may_have_refcycles, Py_False, __pyx_t_3, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 2267, __pyx_L1_error)
    __pyx_t_21 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_module_array_traverse, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
  }
  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

  /* "Cython/Compiler/Code.py":2204
 *         w.putln("}")  # close block
 * 
 *     def generate_codeobject_constants(self):             # <<<<<<<<<<<<<<
 *         w = self.parts['init_codeobjects']
 *         init_function = (
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_XDECREF(__pyx_t_21);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_codeobject_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_init_function);
  __Pyx_XDECREF(__pyx_v_max_func_args);
  __Pyx_XDECREF(__pyx_v_max_kwonly_args);
  __Pyx_XDECREF(__pyx_v_max_posonly_args);
  __Pyx_XDECREF(__pyx_v_max_line);
  __Pyx_XDECREF(__pyx_v_node);
  __Pyx_XDECREF(__pyx_v_def_node);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2269
 *         self._generate_module_array_traverse_and_clear(Naming.codeobjtab_cname, code_object_count, may_have_refcycles=False)
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_71generate_num_constants(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_71generate_num_constants = {"generate_num_constants", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_71generate_num_constants, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_71generate_num_constants(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_num_constants (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_70generate_num_constants(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2310
 *         defines = self.parts['constant_name_defines']
 * 
 *         def store_array(w, name: str, ctype: str, constants: list):             # <<<<<<<<<<<<<<
 *             c: tuple
 *             values = ','.join([c[1] for c in constants])
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_1store_array(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_1store_array = {"store_array", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_1store_array, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_1store_array(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_w = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_ctype = 0;
  PyObject *__pyx_v_constants = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("store_array (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_w,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_ctype,&__pyx_mstate_global->__pyx_n_u_constants,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2310, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2310, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2310, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2310, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2310, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "store_array", 0) < (0)) __PYX_ERR(0, 2310, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("store_array", 1, 4, 4, i); __PYX_ERR(0, 2310, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2310, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2310, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2310, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2310, __pyx_L3_error)
    }
    __pyx_v_w = values[0];
    __pyx_v_name = ((PyObject*)values[1]);
    __pyx_v_ctype = ((PyObject*)values[2]);
    __pyx_v_constants = ((PyObject*)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("store_array", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 2310, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.store_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyUnicode_Type), 0, "name", 2))) __PYX_ERR(0, 2310, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ctype), (&PyUnicode_Type), 0, "ctype", 2))) __PYX_ERR(0, 2310, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_constants), (&PyList_Type), 0, "constants", 2))) __PYX_ERR(0, 2310, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_store_array(__pyx_self, __pyx_v_w, __pyx_v_name, __pyx_v_ctype, __pyx_v_constants);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_store_array(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_w, PyObject *__pyx_v_name, PyObject *__pyx_v_ctype, PyObject *__pyx_v_constants) {
  PyObject *__pyx_v_values = NULL;
  PyObject *__pyx_9genexpr14__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5[6];
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("store_array", 0);

  /* "Cython/Compiler/Code.py":2312
 *         def store_array(w, name: str, ctype: str, constants: list):
 *             c: tuple
 *             values = ','.join([c[1] for c in constants])             # <<<<<<<<<<<<<<
 *             w.putln(f"{ctype} const {name}[] = {{{values}}};")
 * 
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2312, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_constants; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2312, __pyx_L5_error)
        #endif
        if (__pyx_t_3 >= __pyx_temp) break;
      }
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_3;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2312, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (!(likely(PyTuple_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_4))) __PYX_ERR(0, 2312, __pyx_L5_error)
      __Pyx_XDECREF_SET(__pyx_9genexpr14__pyx_v_c, ((PyObject*)__pyx_t_4));
      __pyx_t_4 = 0;
      if (unlikely(__pyx_9genexpr14__pyx_v_c == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 2312, __pyx_L5_error)
      }
      __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_9genexpr14__pyx_v_c, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2312, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 2312, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_c); __pyx_9genexpr14__pyx_v_c = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_c); __pyx_9genexpr14__pyx_v_c = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__35, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_values = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2313
 *             c: tuple
 *             values = ','.join([c[1] for c in constants])
 *             w.putln(f"{ctype} const {name}[] = {{{values}}};")             # <<<<<<<<<<<<<<
 * 
 *         def generate_forloop_start(w, end: cython.Py_ssize_t):
*/
  __pyx_t_1 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyUnicode_Unicode(__pyx_v_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5[0] = __pyx_v_ctype;
  __pyx_t_5[1] = __pyx_mstate_global->__pyx_kp_u_const;
  __pyx_t_5[2] = __pyx_v_name;
  __pyx_t_5[3] = __pyx_mstate_global->__pyx_kp_u__58;
  __pyx_t_5[4] = __pyx_t_4;
  __pyx_t_5[5] = __pyx_mstate_global->__pyx_kp_u__55;
  __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 6, __Pyx_PyUnicode_GET_LENGTH(__pyx_v_ctype) + 7 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_name) + 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_ctype) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_name) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2310
 *         defines = self.parts['constant_name_defines']
 * 
 *         def store_array(w, name: str, ctype: str, constants: list):             # <<<<<<<<<<<<<<
 *             c: tuple
 *             values = ','.join([c[1] for c in constants])
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.store_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_values);
  __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2315
 *             w.putln(f"{ctype} const {name}[] = {{{values}}};")
 * 
 *         def generate_forloop_start(w, end: cython.Py_ssize_t):             # <<<<<<<<<<<<<<
 *             counter_type = 'int' if end < 2**15 else 'Py_ssize_t'
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_3generate_forloop_start(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_3generate_forloop_start = {"generate_forloop_start", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_3generate_forloop_start, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_3generate_forloop_start(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_w = 0;
  Py_ssize_t __pyx_v_end;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_forloop_start (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_w,&__pyx_mstate_global->__pyx_n_u_end,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2315, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2315, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2315, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "generate_forloop_start", 0) < (0)) __PYX_ERR(0, 2315, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("generate_forloop_start", 1, 2, 2, i); __PYX_ERR(0, 2315, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2315, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2315, __pyx_L3_error)
    }
    __pyx_v_w = values[0];
    __pyx_v_end = __Pyx_PyIndex_AsSsize_t(values[1]); if (unlikely((__pyx_v_end == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2315, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("generate_forloop_start", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2315, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.generate_forloop_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_2generate_forloop_start(__pyx_self, __pyx_v_w, __pyx_v_end);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_2generate_forloop_start(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_w, Py_ssize_t __pyx_v_end) {
  PyObject *__pyx_v_counter_type = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6[5];
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_forloop_start", 0);

  /* "Cython/Compiler/Code.py":2316
 * 
 *         def generate_forloop_start(w, end: cython.Py_ssize_t):
 *             counter_type = 'int' if end < 2**15 else 'Py_ssize_t'             # <<<<<<<<<<<<<<
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")
 * 
*/
  __pyx_t_2 = (__pyx_v_end < 0x8000);
  if (__pyx_t_2) {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_int;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_ssize_t);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Py_ssize_t;
  }
  __pyx_v_counter_type = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2317
 *         def generate_forloop_start(w, end: cython.Py_ssize_t):
 *             counter_type = 'int' if end < 2**15 else 'Py_ssize_t'
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")             # <<<<<<<<<<<<<<
 * 
 *         def assign_constant(w, error_pos, rhs_code: str):
*/
  __pyx_t_3 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyUnicode_Unicode(__pyx_v_counter_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_end, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6[0] = __pyx_mstate_global->__pyx_kp_u_for;
  __pyx_t_6[1] = __pyx_t_4;
  __pyx_t_6[2] = __pyx_mstate_global->__pyx_kp_u_i_0_i_2;
  __pyx_t_6[3] = __pyx_t_5;
  __pyx_t_6[4] = __pyx_mstate_global->__pyx_kp_u_i_5;
  __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 5, 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 12 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2315
 *             w.putln(f"{ctype} const {name}[] = {{{values}}};")
 * 
 *         def generate_forloop_start(w, end: cython.Py_ssize_t):             # <<<<<<<<<<<<<<
 *             counter_type = 'int' if end < 2**15 else 'Py_ssize_t'
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.generate_forloop_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_counter_type);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2319
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")
 * 
 *         def assign_constant(w, error_pos, rhs_code: str):             # <<<<<<<<<<<<<<
 *             w.putln(f"numbertab[i] = {rhs_code};")
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_5assign_constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_5assign_constant = {"assign_constant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_5assign_constant, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_5assign_constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_w = 0;
  PyObject *__pyx_v_error_pos = 0;
  PyObject *__pyx_v_rhs_code = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("assign_constant (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_w,&__pyx_mstate_global->__pyx_n_u_error_pos,&__pyx_mstate_global->__pyx_n_u_rhs_code,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2319, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2319, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2319, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2319, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "assign_constant", 0) < (0)) __PYX_ERR(0, 2319, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("assign_constant", 1, 3, 3, i); __PYX_ERR(0, 2319, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2319, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2319, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2319, __pyx_L3_error)
    }
    __pyx_v_w = values[0];
    __pyx_v_error_pos = values[1];
    __pyx_v_rhs_code = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("assign_constant", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 2319, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.assign_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_rhs_code), (&PyUnicode_Type), 0, "rhs_code", 2))) __PYX_ERR(0, 2319, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_4assign_constant(__pyx_self, __pyx_v_w, __pyx_v_error_pos, __pyx_v_rhs_code);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_4assign_constant(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_w, PyObject *__pyx_v_error_pos, PyObject *__pyx_v_rhs_code) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3[3];
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("assign_constant", 0);

  /* "Cython/Compiler/Code.py":2320
 * 
 *         def assign_constant(w, error_pos, rhs_code: str):
 *             w.putln(f"numbertab[i] = {rhs_code};")             # <<<<<<<<<<<<<<
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))
 * 
*/
  __pyx_t_2 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3[0] = __pyx_mstate_global->__pyx_kp_u_numbertab_i;
  __pyx_t_3[1] = __pyx_v_rhs_code;
  __pyx_t_3[2] = __pyx_mstate_global->__pyx_kp_u__49;
  __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, 15 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_rhs_code) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_rhs_code));
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2321
 *         def assign_constant(w, error_pos, rhs_code: str):
 *             w.putln(f"numbertab[i] = {rhs_code};")
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))             # <<<<<<<<<<<<<<
 * 
 *         def define_constants(defines, constants: list, start_offset: cython.Py_ssize_t = 0):
*/
  __pyx_t_4 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_numbertab_i_2, __pyx_v_error_pos};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto_if_null, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2319
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")
 * 
 *         def assign_constant(w, error_pos, rhs_code: str):             # <<<<<<<<<<<<<<
 *             w.putln(f"numbertab[i] = {rhs_code};")
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.assign_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2323
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))
 * 
 *         def define_constants(defines, constants: list, start_offset: cython.Py_ssize_t = 0):             # <<<<<<<<<<<<<<
 *             i: cython.Py_ssize_t
 *             c: tuple
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_7define_constants(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_7define_constants = {"define_constants", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_7define_constants, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_7define_constants(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_defines = 0;
  PyObject *__pyx_v_constants = 0;
  Py_ssize_t __pyx_v_start_offset;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("define_constants (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_defines,&__pyx_mstate_global->__pyx_n_u_constants,&__pyx_mstate_global->__pyx_n_u_start_offset,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2323, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2323, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2323, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2323, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "define_constants", 0) < (0)) __PYX_ERR(0, 2323, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("define_constants", 0, 2, 3, i); __PYX_ERR(0, 2323, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2323, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2323, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2323, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_defines = values[0];
    __pyx_v_constants = ((PyObject*)values[1]);
    if (values[2]) {
      __pyx_v_start_offset = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_start_offset == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2323, __pyx_L3_error)
    } else {
      __pyx_v_start_offset = ((Py_ssize_t)((Py_ssize_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("define_constants", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2323, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.define_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_constants), (&PyList_Type), 0, "constants", 2))) __PYX_ERR(0, 2323, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_6define_constants(__pyx_self, __pyx_v_defines, __pyx_v_constants, __pyx_v_start_offset);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_6define_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_defines, PyObject *__pyx_v_constants, Py_ssize_t __pyx_v_start_offset) {
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_v_c = 0;
  PyObject *__pyx_v_numbertab_cname = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9[7];
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("define_constants", 0);

  /* "Cython/Compiler/Code.py":2326
 *             i: cython.Py_ssize_t
 *             c: tuple
 *             numbertab_cname: str = Naming.numbertab_cname             # <<<<<<<<<<<<<<
 *             for i, c in enumerate(constants):
 *                 cname: str = c[0]
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_numbertab_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 2326, __pyx_L1_error)
  __pyx_v_numbertab_cname = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2327
 *             c: tuple
 *             numbertab_cname: str = Naming.numbertab_cname
 *             for i, c in enumerate(constants):             # <<<<<<<<<<<<<<
 *                 cname: str = c[0]
 *                 defines.putln(f"#define {cname} {numbertab_cname}[{start_offset + i}]")
*/
  __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_v_constants; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2327, __pyx_L1_error)
      #endif
      if (__pyx_t_3 >= __pyx_temp) break;
    }
    __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_3;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (!(likely(PyTuple_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_4))) __PYX_ERR(0, 2327, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v_c, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = (__pyx_t_2 + 1);

    /* "Cython/Compiler/Code.py":2328
 *             numbertab_cname: str = Naming.numbertab_cname
 *             for i, c in enumerate(constants):
 *                 cname: str = c[0]             # <<<<<<<<<<<<<<
 *                 defines.putln(f"#define {cname} {numbertab_cname}[{start_offset + i}]")
 * 
*/
    if (unlikely(__pyx_v_c == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 2328, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_c, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (!(likely(PyUnicode_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_4))) __PYX_ERR(0, 2328, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v_cname, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2329
 *             for i, c in enumerate(constants):
 *                 cname: str = c[0]
 *                 defines.putln(f"#define {cname} {numbertab_cname}[{start_offset + i}]")             # <<<<<<<<<<<<<<
 * 
 *         constant_offset: cython.Py_ssize_t = 0
*/
    __pyx_t_5 = __pyx_v_defines;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyUnicode_Unicode(__pyx_v_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Unicode(__pyx_v_numbertab_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_From_Py_ssize_t((__pyx_v_start_offset + __pyx_v_i), 0, ' ', 'd'); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u_define;
    __pyx_t_9[1] = __pyx_t_6;
    __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__21;
    __pyx_t_9[3] = __pyx_t_7;
    __pyx_t_9[4] = __pyx_mstate_global->__pyx_kp_u__22;
    __pyx_t_9[5] = __pyx_t_8;
    __pyx_t_9[6] = __pyx_mstate_global->__pyx_kp_u__23;
    __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_9, 7, 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_10};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2329, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2327
 *             c: tuple
 *             numbertab_cname: str = Naming.numbertab_cname
 *             for i, c in enumerate(constants):             # <<<<<<<<<<<<<<
 *                 cname: str = c[0]
 *                 defines.putln(f"#define {cname} {numbertab_cname}[{start_offset + i}]")
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2323
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))
 * 
 *         def define_constants(defines, constants: list, start_offset: cython.Py_ssize_t = 0):             # <<<<<<<<<<<<<<
 *             i: cython.Py_ssize_t
 *             c: tuple
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.define_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XDECREF(__pyx_v_numbertab_cname);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2380
 *         if large_constants:
 *             # We store large integer constants in a single '\0'-separated C string of base32 digits.
 *             def to_base32(number):             # <<<<<<<<<<<<<<
 *                 is_neg: bool = number < 0
 *                 if is_neg:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_9to_base32(PyObject *__pyx_self, PyObject *__pyx_v_number); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_9to_base32 = {"to_base32", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_9to_base32, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_9to_base32(PyObject *__pyx_self, PyObject *__pyx_v_number) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("to_base32 (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_8to_base32(__pyx_self, ((PyObject *)__pyx_v_number));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_8to_base32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_number) {
  int __pyx_v_is_neg;
  PyObject *__pyx_v_digits = NULL;
  unsigned int __pyx_v_digit;
  char __pyx_v_digit_char;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  unsigned int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("to_base32", 0);
  __Pyx_INCREF(__pyx_v_number);

  /* "Cython/Compiler/Code.py":2381
 *             # We store large integer constants in a single '\0'-separated C string of base32 digits.
 *             def to_base32(number):
 *                 is_neg: bool = number < 0             # <<<<<<<<<<<<<<
 *                 if is_neg:
 *                     number = -number
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_number, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2381, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_is_neg = __pyx_t_2;

  /* "Cython/Compiler/Code.py":2382
 *             def to_base32(number):
 *                 is_neg: bool = number < 0
 *                 if is_neg:             # <<<<<<<<<<<<<<
 *                     number = -number
 * 
*/
  if (__pyx_v_is_neg) {

    /* "Cython/Compiler/Code.py":2383
 *                 is_neg: bool = number < 0
 *                 if is_neg:
 *                     number = -number             # <<<<<<<<<<<<<<
 * 
 *                 digits = bytearray()
*/
    __pyx_t_1 = PyNumber_Negative(__pyx_v_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_number, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2382
 *             def to_base32(number):
 *                 is_neg: bool = number < 0
 *                 if is_neg:             # <<<<<<<<<<<<<<
 *                     number = -number
 * 
*/
  }

  /* "Cython/Compiler/Code.py":2385
 *                     number = -number
 * 
 *                 digits = bytearray()             # <<<<<<<<<<<<<<
 *                 while number:
 *                     digit: cython.uint = number & 31
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyByteArray_Type), __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_digits = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2386
 * 
 *                 digits = bytearray()
 *                 while number:             # <<<<<<<<<<<<<<
 *                     digit: cython.uint = number & 31
 *                     digit_char: cython.char = b'0123456789abcdefghijklmnopqrstuv'[digit]
*/
  while (1) {
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_number); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2386, __pyx_L1_error)
    if (!__pyx_t_2) break;

    /* "Cython/Compiler/Code.py":2387
 *                 digits = bytearray()
 *                 while number:
 *                     digit: cython.uint = number & 31             # <<<<<<<<<<<<<<
 *                     digit_char: cython.char = b'0123456789abcdefghijklmnopqrstuv'[digit]
 *                     digits.append(digit_char)
*/
    __pyx_t_1 = __Pyx_PyLong_AndObjC(__pyx_v_number, __pyx_mstate_global->__pyx_int_31, 31, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2387, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_digit = __pyx_t_5;

    /* "Cython/Compiler/Code.py":2388
 *                 while number:
 *                     digit: cython.uint = number & 31
 *                     digit_char: cython.char = b'0123456789abcdefghijklmnopqrstuv'[digit]             # <<<<<<<<<<<<<<
 *                     digits.append(digit_char)
 *                     number >>= 5
*/
    __pyx_t_6 = __Pyx_GetItemInt_Bytes(__pyx_mstate_global->__pyx_kp_b_0123456789abcdefghijklmnopqrstuv, __pyx_v_digit, unsigned int, 0, __Pyx_PyLong_From_unsigned_int, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 2388, __pyx_L1_error)
    __pyx_v_digit_char = __pyx_t_6;

    /* "Cython/Compiler/Code.py":2389
 *                     digit: cython.uint = number & 31
 *                     digit_char: cython.char = b'0123456789abcdefghijklmnopqrstuv'[digit]
 *                     digits.append(digit_char)             # <<<<<<<<<<<<<<
 *                     number >>= 5
 *                 if not digits:
*/
    __pyx_t_7 = __Pyx_PyByteArray_Append(__pyx_v_digits, __pyx_v_digit_char); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 2389, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":2390
 *                     digit_char: cython.char = b'0123456789abcdefghijklmnopqrstuv'[digit]
 *                     digits.append(digit_char)
 *                     number >>= 5             # <<<<<<<<<<<<<<
 *                 if not digits:
 *                     return b'0'
*/
    __pyx_t_1 = __Pyx_PyLong_RshiftObjC(__pyx_v_number, __pyx_mstate_global->__pyx_int_5, 5, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_number, __pyx_t_1);
    __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":2391
 *                     digits.append(digit_char)
 *                     number >>= 5
 *                 if not digits:             # <<<<<<<<<<<<<<
 *                     return b'0'
 * 
*/
  {
    Py_ssize_t __pyx_temp = __Pyx_PyByteArray_GET_SIZE(__pyx_v_digits);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2391, __pyx_L1_error)
    __pyx_t_2 = (__pyx_temp != 0);
  }

  __pyx_t_8 = (!__pyx_t_2);
  if (__pyx_t_8) {

    /* "Cython/Compiler/Code.py":2392
 *                     number >>= 5
 *                 if not digits:
 *                     return b'0'             # <<<<<<<<<<<<<<
 * 
 *                 if is_neg:
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_b_0);
    __pyx_r = __pyx_mstate_global->__pyx_kp_b_0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2391
 *                     digits.append(digit_char)
 *                     number >>= 5
 *                 if not digits:             # <<<<<<<<<<<<<<
 *                     return b'0'
 * 
*/
  }

  /* "Cython/Compiler/Code.py":2394
 *                     return b'0'
 * 
 *                 if is_neg:             # <<<<<<<<<<<<<<
 *                     digits.append(ord(b'-'))
 *                 digits.reverse()
*/
  if (__pyx_v_is_neg) {

    /* "Cython/Compiler/Code.py":2395
 * 
 *                 if is_neg:
 *                     digits.append(ord(b'-'))             # <<<<<<<<<<<<<<
 *                 digits.reverse()
 *                 return digits
*/
    __pyx_t_7 = __Pyx_PyByteArray_Append(__pyx_v_digits, 45); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 2395, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":2394
 *                     return b'0'
 * 
 *                 if is_neg:             # <<<<<<<<<<<<<<
 *                     digits.append(ord(b'-'))
 *                 digits.reverse()
*/
  }

  /* "Cython/Compiler/Code.py":2396
 *                 if is_neg:
 *                     digits.append(ord(b'-'))
 *                 digits.reverse()             # <<<<<<<<<<<<<<
 *                 return digits
 * 
*/
  __pyx_t_1 = __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyByteArray_Type__reverse, __pyx_v_digits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2397
 *                     digits.append(ord(b'-'))
 *                 digits.reverse()
 *                 return digits             # <<<<<<<<<<<<<<
 * 
 *             w.putln("{")
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_digits);
  __pyx_r = __pyx_v_digits;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2380
 *         if large_constants:
 *             # We store large integer constants in a single '\0'-separated C string of base32 digits.
 *             def to_base32(number):             # <<<<<<<<<<<<<<
 *                 is_neg: bool = number < 0
 *                 if is_neg:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants.to_base32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_digits);
  __Pyx_XDECREF(__pyx_v_number);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2269
 *         self._generate_module_array_traverse_and_clear(Naming.codeobjtab_cname, code_object_count, may_have_refcycles=False)
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_70generate_num_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_consts = NULL;
  Py_ssize_t __pyx_v_constant_count;
  PyObject *__pyx_v_float_constants = NULL;
  PyObject *__pyx_v_int_constants_by_bytesize = NULL;
  PyObject *__pyx_v_large_constants = NULL;
  PyObject *__pyx_v_int_constant_count = NULL;
  PyObject *__pyx_v_int_suffix = NULL;
  PyObject *__pyx_v_py_type = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_v_value_code = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_number_value = NULL;
  PyObject *__pyx_v_bit_length = NULL;
  PyObject *__pyx_v_w = NULL;
  PyObject *__pyx_v_defines = NULL;
  PyObject *__pyx_v_store_array = 0;
  PyObject *__pyx_v_generate_forloop_start = 0;
  PyObject *__pyx_v_assign_constant = 0;
  PyObject *__pyx_v_define_constants = 0;
  Py_ssize_t __pyx_v_constant_offset;
  PyObject *__pyx_v_int_types = NULL;
  PyObject *__pyx_v_array_access = NULL;
  Py_ssize_t __pyx_v_int_constants_seen;
  int __pyx_v_byte_size;
  PyObject *__pyx_v_constants = NULL;
  PyObject *__pyx_v_array_name = NULL;
  PyObject *__pyx_v_read_item = NULL;
  PyObject *__pyx_v_capi_func = NULL;
  PyObject *__pyx_v_to_base32 = 0;
  PyObject *__pyx_v_c_string = NULL;
  PyObject *__pyx_9genexpr13__pyx_v_c = NULL;
  PyObject *__pyx_9genexpr15__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  int __pyx_t_16;
  int __pyx_t_17;
  PyObject *__pyx_t_18[5];
  PyObject *__pyx_t_19 = NULL;
  PyObject *(*__pyx_t_20)(PyObject *);
  PyObject *__pyx_t_21[3];
  PyObject *__pyx_t_22[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generate_num_constants", 0);

  /* "Cython/Compiler/Code.py":2270
 * 
 *     def generate_num_constants(self):
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)             # <<<<<<<<<<<<<<
 *                   for c in self.num_const_index.values()]
 *         consts.sort()
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2270, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":2271
 *     def generate_num_constants(self):
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]             # <<<<<<<<<<<<<<
 *         consts.sort()
 *         if not consts:
*/
    __pyx_t_3 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_num_const_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2271, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(__pyx_t_6 == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
      __PYX_ERR(0, 2271, __pyx_L5_error)
    }
    __pyx_t_7 = __Pyx_dict_iterator(__pyx_t_6, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2271, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_t_7;
    __pyx_t_7 = 0;
    while (1) {
      __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_3, NULL, &__pyx_t_7, NULL, __pyx_t_5);
      if (unlikely(__pyx_t_8 == 0)) break;
      if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 2271, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_9genexpr13__pyx_v_c, __pyx_t_7);
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":2270
 * 
 *     def generate_num_constants(self):
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)             # <<<<<<<<<<<<<<
 *                   for c in self.num_const_index.values()]
 *         consts.sort()
*/
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr13__pyx_v_c, __pyx_mstate_global->__pyx_n_u_py_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr13__pyx_v_c, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_9 = __pyx_t_10;
      __Pyx_INCREF(__pyx_t_9);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__45};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lstrip, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2270, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_12 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyLong_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr13__pyx_v_c, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_9 = __pyx_t_13;
      __Pyx_INCREF(__pyx_t_9);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__45};
        __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lstrip, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2270, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_10);
      }
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr13__pyx_v_c, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr13__pyx_v_c, __pyx_mstate_global->__pyx_n_u_value_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_14 = PyTuple_New(6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_GIVEREF(__pyx_t_7);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 2270, __pyx_L5_error);
      __Pyx_GIVEREF(__pyx_t_6);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 2270, __pyx_L5_error);
      __Pyx_GIVEREF(__pyx_t_10);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_10) != (0)) __PYX_ERR(0, 2270, __pyx_L5_error);
      __Pyx_GIVEREF(__pyx_t_13);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_t_13) != (0)) __PYX_ERR(0, 2270, __pyx_L5_error);
      __Pyx_GIVEREF(__pyx_t_9);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 4, __pyx_t_9) != (0)) __PYX_ERR(0, 2270, __pyx_L5_error);
      __Pyx_INCREF(__pyx_9genexpr13__pyx_v_c);
      __Pyx_GIVEREF(__pyx_9genexpr13__pyx_v_c);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 5, __pyx_9genexpr13__pyx_v_c) != (0)) __PYX_ERR(0, 2270, __pyx_L5_error);
      __pyx_t_7 = 0;
      __pyx_t_6 = 0;
      __pyx_t_10 = 0;
      __pyx_t_13 = 0;
      __pyx_t_9 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_14))) __PYX_ERR(0, 2270, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_c); __pyx_9genexpr13__pyx_v_c = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_c); __pyx_9genexpr13__pyx_v_c = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
  __pyx_v_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2272
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
 *         consts.sort()             # <<<<<<<<<<<<<<
 *         if not consts:
 *             return
*/
  __pyx_t_15 = PyList_Sort(__pyx_v_consts); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 2272, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2273
 *                   for c in self.num_const_index.values()]
 *         consts.sort()
 *         if not consts:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  {
    Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_consts);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2273, __pyx_L1_error)
    __pyx_t_16 = (__pyx_temp != 0);
  }

  __pyx_t_17 = (!__pyx_t_16);
  if (__pyx_t_17) {

    /* "Cython/Compiler/Code.py":2274
 *         consts.sort()
 *         if not consts:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         constant_count = len(consts)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2273
 *                   for c in self.num_const_index.values()]
 *         consts.sort()
 *         if not consts:             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  }

  /* "Cython/Compiler/Code.py":2276
 *             return
 * 
 *         constant_count = len(consts)             # <<<<<<<<<<<<<<
 *         self.parts['module_state'].putln(f"PyObject *{Naming.numbertab_cname}[{constant_count}];")
 *         # Numeric constants can never participate in reference cycles.
*/
  __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_consts); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2276, __pyx_L1_error)
  __pyx_v_constant_count = __pyx_t_4;

  /* "Cython/Compiler/Code.py":2277
 * 
 *         constant_count = len(consts)
 *         self.parts['module_state'].putln(f"PyObject *{Naming.numbertab_cname}[{constant_count}];")             # <<<<<<<<<<<<<<
 *         # Numeric constants can never participate in reference cycles.
 *         self._generate_module_array_traverse_and_clear(Naming.numbertab_cname, constant_count, may_have_refcycles=False)
*/
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_module_state); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_2 = __pyx_t_9;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_numbertab_cname); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_13 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_constant_count, 0, ' ', 'd'); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_18[0] = __pyx_mstate_global->__pyx_kp_u_PyObject;
  __pyx_t_18[1] = __pyx_t_13;
  __pyx_t_18[2] = __pyx_mstate_global->__pyx_kp_u__22;
  __pyx_t_18[3] = __pyx_t_14;
  __pyx_t_18[4] = __pyx_mstate_global->__pyx_kp_u__48;
  __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_18, 5, 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_13) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_13));
  if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2279
 *         self.parts['module_state'].putln(f"PyObject *{Naming.numbertab_cname}[{constant_count}];")
 *         # Numeric constants can never participate in reference cycles.
 *         self._generate_module_array_traverse_and_clear(Naming.numbertab_cname, constant_count, may_have_refcycles=False)             # <<<<<<<<<<<<<<
 * 
 *         float_constants = []
*/
  __pyx_t_9 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_numbertab_cname); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_2 = PyLong_FromSsize_t(__pyx_v_constant_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_9, __pyx_t_10, __pyx_t_2};
    __pyx_t_14 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_may_have_refcycles, Py_False, __pyx_t_14, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 2279, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_module_array_traverse, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_14);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2281
 *         self._generate_module_array_traverse_and_clear(Naming.numbertab_cname, constant_count, may_have_refcycles=False)
 * 
 *         float_constants = []             # <<<<<<<<<<<<<<
 *         int_constants_by_bytesize = [[]]  # [[1 byte], [2 bytes], [4 bytes], [8 bytes]]
 *         large_constants = []
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_float_constants = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2282
 * 
 *         float_constants = []
 *         int_constants_by_bytesize = [[]]  # [[1 byte], [2 bytes], [4 bytes], [8 bytes]]             # <<<<<<<<<<<<<<
 *         large_constants = []
 *         int_constant_count = 0
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = PyList_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_14, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 2282, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_v_int_constants_by_bytesize = ((PyObject*)__pyx_t_14);
  __pyx_t_14 = 0;

  /* "Cython/Compiler/Code.py":2283
 *         float_constants = []
 *         int_constants_by_bytesize = [[]]  # [[1 byte], [2 bytes], [4 bytes], [8 bytes]]
 *         large_constants = []             # <<<<<<<<<<<<<<
 *         int_constant_count = 0
 *         int_suffix = ''
*/
  __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_v_large_constants = ((PyObject*)__pyx_t_14);
  __pyx_t_14 = 0;

  /* "Cython/Compiler/Code.py":2284
 *         int_constants_by_bytesize = [[]]  # [[1 byte], [2 bytes], [4 bytes], [8 bytes]]
 *         large_constants = []
 *         int_constant_count = 0             # <<<<<<<<<<<<<<
 *         int_suffix = ''
 * 
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_v_int_constant_count = __pyx_mstate_global->__pyx_int_0;

  /* "Cython/Compiler/Code.py":2285
 *         large_constants = []
 *         int_constant_count = 0
 *         int_suffix = ''             # <<<<<<<<<<<<<<
 * 
 *         for py_type, _, _, value, value_code, c in consts:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
  __pyx_v_int_suffix = __pyx_mstate_global->__pyx_kp_u__9;

  /* "Cython/Compiler/Code.py":2287
 *         int_suffix = ''
 * 
 *         for py_type, _, _, value, value_code, c in consts:             # <<<<<<<<<<<<<<
 *             cname = c.cname
 *             if py_type == 'float':
*/
  __pyx_t_14 = __pyx_v_consts; __Pyx_INCREF(__pyx_t_14);
  __pyx_t_4 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_14);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2287, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_14, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 6)) {
        if (size > 6) __Pyx_RaiseTooManyValuesError(6);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2287, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_10);
        __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_9);
        __pyx_t_13 = PyTuple_GET_ITEM(sequence, 3);
        __Pyx_INCREF(__pyx_t_13);
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 4);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 5);
        __Pyx_INCREF(__pyx_t_7);
      } else {
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2287, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2287, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_10);
        __pyx_t_9 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2287, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_9);
        __pyx_t_13 = __Pyx_PyList_GetItemRefFast(sequence, 3, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2287, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_13);
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 4, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2287, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 5, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2287, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
      }
      #else
      {
        Py_ssize_t i;
        PyObject** temps[6] = {&__pyx_t_2,&__pyx_t_10,&__pyx_t_9,&__pyx_t_13,&__pyx_t_6,&__pyx_t_7};
        for (i=0; i < 6; i++) {
          PyObject* item = __Pyx_PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 2287, __pyx_L1_error)
          __Pyx_GOTREF(item);
          *(temps[i]) = item;
        }
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      PyObject** temps[6] = {&__pyx_t_2,&__pyx_t_10,&__pyx_t_9,&__pyx_t_13,&__pyx_t_6,&__pyx_t_7};
      __pyx_t_19 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 2287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_19);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_20 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_19);
      for (index=0; index < 6; index++) {
        PyObject* item = __pyx_t_20(__pyx_t_19); if (unlikely(!item)) goto __pyx_L12_unpacking_failed;
        __Pyx_GOTREF(item);
        *(temps[index]) = item;
      }
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_20(__pyx_t_19), 6) < (0)) __PYX_ERR(0, 2287, __pyx_L1_error)
      __pyx_t_20 = NULL;
      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
      goto __pyx_L13_unpacking_done;
      __pyx_L12_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
      __pyx_t_20 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2287, __pyx_L1_error)
      __pyx_L13_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_py_type, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_XDECREF_SET(__pyx_v__, __pyx_t_10);
    __pyx_t_10 = 0;
    __Pyx_DECREF_SET(__pyx_v__, __pyx_t_9);
    __pyx_t_9 = 0;
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_13);
    __pyx_t_13 = 0;
    __Pyx_XDECREF_SET(__pyx_v_value_code, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":2288
 * 
 *         for py_type, _, _, value, value_code, c in consts:
 *             cname = c.cname             # <<<<<<<<<<<<<<
 *             if py_type == 'float':
 *                 float_constants.append((cname, value_code))
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2289
 *         for py_type, _, _, value, value_code, c in consts:
 *             cname = c.cname
 *             if py_type == 'float':             # <<<<<<<<<<<<<<
 *                 float_constants.append((cname, value_code))
 *             else:
*/
    __pyx_t_17 = (__Pyx_PyUnicode_Equals(__pyx_v_py_type, __pyx_mstate_global->__pyx_n_u_float, Py_EQ)); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 2289, __pyx_L1_error)
    if (__pyx_t_17) {

      /* "Cython/Compiler/Code.py":2290
 *             cname = c.cname
 *             if py_type == 'float':
 *                 float_constants.append((cname, value_code))             # <<<<<<<<<<<<<<
 *             else:
 *                 number_value = Utils.str_to_number(value)
*/
      __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cname) != (0)) __PYX_ERR(0, 2290, __pyx_L1_error);
      __Pyx_INCREF(__pyx_v_value_code);
      __Pyx_GIVEREF(__pyx_v_value_code);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value_code) != (0)) __PYX_ERR(0, 2290, __pyx_L1_error);
      __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_float_constants, __pyx_t_1); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 2290, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2289
 *         for py_type, _, _, value, value_code, c in consts:
 *             cname = c.cname
 *             if py_type == 'float':             # <<<<<<<<<<<<<<
 *                 float_constants.append((cname, value_code))
 *             else:
*/
      goto __pyx_L14;
    }

    /* "Cython/Compiler/Code.py":2292
 *                 float_constants.append((cname, value_code))
 *             else:
 *                 number_value = Utils.str_to_number(value)             # <<<<<<<<<<<<<<
 *                 bit_length = number_value.bit_length()
 *                 if bit_length <= 63:
*/
    /*else*/ {
      __pyx_t_7 = __pyx_v_6Cython_8Compiler_4Code_Utils;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_value};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_str_to_number, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2292, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_v_number_value, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2293
 *             else:
 *                 number_value = Utils.str_to_number(value)
 *                 bit_length = number_value.bit_length()             # <<<<<<<<<<<<<<
 *                 if bit_length <= 63:
 *                     while (bit_length + 8) // 8 > 1 << (len(int_constants_by_bytesize) - 1):
*/
      __pyx_t_7 = __pyx_v_number_value;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bit_length, __pyx_callargs+__pyx_t_11, (1-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2293, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_v_bit_length, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2294
 *                 number_value = Utils.str_to_number(value)
 *                 bit_length = number_value.bit_length()
 *                 if bit_length <= 63:             # <<<<<<<<<<<<<<
 *                     while (bit_length + 8) // 8 > 1 << (len(int_constants_by_bytesize) - 1):
 *                         int_constants_by_bytesize.append([])
*/
      __pyx_t_1 = PyObject_RichCompare(__pyx_v_bit_length, __pyx_mstate_global->__pyx_int_63, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2294, __pyx_L1_error)
      __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 2294, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (__pyx_t_17) {

        /* "Cython/Compiler/Code.py":2295
 *                 bit_length = number_value.bit_length()
 *                 if bit_length <= 63:
 *                     while (bit_length + 8) // 8 > 1 << (len(int_constants_by_bytesize) - 1):             # <<<<<<<<<<<<<<
 *                         int_constants_by_bytesize.append([])
 *                         # Our <= 31-bit integer values pass happily as 'int32' without further modifiers,
*/
        while (1) {
          __pyx_t_1 = __Pyx_PyLong_AddObjC(__pyx_v_bit_length, __pyx_mstate_global->__pyx_int_8, 8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2295, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_7 = __Pyx_PyLong_FloorDivideObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_8, 8, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2295, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_int_constants_by_bytesize); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2295, __pyx_L1_error)
          __pyx_t_1 = PyLong_FromSsize_t((1 << (__pyx_t_3 - 1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2295, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_6 = PyObject_RichCompare(__pyx_t_7, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2295, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 2295, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (!__pyx_t_17) break;

          /* "Cython/Compiler/Code.py":2296
 *                 if bit_length <= 63:
 *                     while (bit_length + 8) // 8 > 1 << (len(int_constants_by_bytesize) - 1):
 *                         int_constants_by_bytesize.append([])             # <<<<<<<<<<<<<<
 *                         # Our <= 31-bit integer values pass happily as 'int32' without further modifiers,
 *                         # but MSVC misinterprets a negative '-2147483648' (== INT_MIN) and similar values as
*/
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2296, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_int_constants_by_bytesize, __pyx_t_6); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 2296, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

          /* "Cython/Compiler/Code.py":2301
 *                         # "that's 'uint32' just with a minus sign", where '-(2147483648)' == '2147483648'.
 *                         # See https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4146?view=msvc-170
 *                         int_suffix = 'LL'[:len(int_constants_by_bytesize) - 2]             # <<<<<<<<<<<<<<
 *                     int_constant_count += 1
 *                     int_constants_by_bytesize[-1].append((cname, f"{number_value}{int_suffix}"))
*/
          __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_int_constants_by_bytesize); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2301, __pyx_L1_error)
          __pyx_t_6 = __Pyx_PyUnicode_Substring(__pyx_mstate_global->__pyx_n_u_LL, 0, (__pyx_t_3 - 2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2301, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF_SET(__pyx_v_int_suffix, ((PyObject*)__pyx_t_6));
          __pyx_t_6 = 0;
        }

        /* "Cython/Compiler/Code.py":2302
 *                         # See https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4146?view=msvc-170
 *                         int_suffix = 'LL'[:len(int_constants_by_bytesize) - 2]
 *                     int_constant_count += 1             # <<<<<<<<<<<<<<
 *                     int_constants_by_bytesize[-1].append((cname, f"{number_value}{int_suffix}"))
 *                 else:
*/
        __pyx_t_6 = __Pyx_PyLong_AddObjC(__pyx_v_int_constant_count, __pyx_mstate_global->__pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2302, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_int_constant_count, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":2303
 *                         int_suffix = 'LL'[:len(int_constants_by_bytesize) - 2]
 *                     int_constant_count += 1
 *                     int_constants_by_bytesize[-1].append((cname, f"{number_value}{int_suffix}"))             # <<<<<<<<<<<<<<
 *                 else:
 *                     large_constants.append((cname, number_value))
*/
        __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_int_constants_by_bytesize, -1L, long, 1, __Pyx_PyLong_From_long, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2303, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_number_value, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2303, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_v_int_suffix); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2303, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2303, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_INCREF(__pyx_v_cname);
        __Pyx_GIVEREF(__pyx_v_cname);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cname) != (0)) __PYX_ERR(0, 2303, __pyx_L1_error);
        __Pyx_GIVEREF(__pyx_t_7);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 2303, __pyx_L1_error);
        __pyx_t_7 = 0;
        __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_6, __pyx_t_1); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 2303, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

        /* "Cython/Compiler/Code.py":2294
 *                 number_value = Utils.str_to_number(value)
 *                 bit_length = number_value.bit_length()
 *                 if bit_length <= 63:             # <<<<<<<<<<<<<<
 *                     while (bit_length + 8) // 8 > 1 << (len(int_constants_by_bytesize) - 1):
 *                         int_constants_by_bytesize.append([])
*/
        goto __pyx_L15;
      }

      /* "Cython/Compiler/Code.py":2305
 *                     int_constants_by_bytesize[-1].append((cname, f"{number_value}{int_suffix}"))
 *                 else:
 *                     large_constants.append((cname, number_value))             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['init_constants']
*/
      /*else*/ {
        __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2305, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_INCREF(__pyx_v_cname);
        __Pyx_GIVEREF(__pyx_v_cname);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cname) != (0)) __PYX_ERR(0, 2305, __pyx_L1_error);
        __Pyx_INCREF(__pyx_v_number_value);
        __Pyx_GIVEREF(__pyx_v_number_value);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_number_value) != (0)) __PYX_ERR(0, 2305, __pyx_L1_error);
        __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_large_constants, __pyx_t_1); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 2305, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
      __pyx_L15:;
    }
    __pyx_L14:;

    /* "Cython/Compiler/Code.py":2287
 *         int_suffix = ''
 * 
 *         for py_type, _, _, value, value_code, c in consts:             # <<<<<<<<<<<<<<
 *             cname = c.cname
 *             if py_type == 'float':
*/
  }
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

  /* "Cython/Compiler/Code.py":2307
 *                     large_constants.append((cname, number_value))
 * 
 *         w = self.parts['init_constants']             # <<<<<<<<<<<<<<
 *         defines = self.parts['constant_name_defines']
 * 
*/
  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_init_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_v_w = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2308
 * 
 *         w = self.parts['init_constants']
 *         defines = self.parts['constant_name_defines']             # <<<<<<<<<<<<<<
 * 
 *         def store_array(w, name: str, ctype: str, constants: list):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_constant_name_defines); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_defines = __pyx_t_14;
  __pyx_t_14 = 0;

  /* "Cython/Compiler/Code.py":2310
 *         defines = self.parts['constant_name_defines']
 * 
 *         def store_array(w, name: str, ctype: str, constants: list):             # <<<<<<<<<<<<<<
 *             c: tuple
 *             values = ','.join([c[1] for c in constants])
*/
  __pyx_t_14 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  if (PyDict_SetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_name, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 2310, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_ctype, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 2310, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_constants, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 2310, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_1store_array, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_num_constan, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[6])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_14);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_v_store_array = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2315
 *             w.putln(f"{ctype} const {name}[] = {{{values}}};")
 * 
 *         def generate_forloop_start(w, end: cython.Py_ssize_t):             # <<<<<<<<<<<<<<
 *             counter_type = 'int' if end < 2**15 else 'Py_ssize_t'
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_end, __pyx_mstate_global->__pyx_kp_u_cython_Py_ssize_t) < (0)) __PYX_ERR(0, 2315, __pyx_L1_error)
  __pyx_t_14 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_3generate_forloop_start, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_num_constan_2, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[7])); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_14, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_generate_forloop_start = __pyx_t_14;
  __pyx_t_14 = 0;

  /* "Cython/Compiler/Code.py":2319
 *             w.putln(f"for ({counter_type} i = 0; i < {end}; i++) {{")
 * 
 *         def assign_constant(w, error_pos, rhs_code: str):             # <<<<<<<<<<<<<<
 *             w.putln(f"numbertab[i] = {rhs_code};")
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))
*/
  __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  if (PyDict_SetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_rhs_code, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 2319, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_5assign_constant, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_num_constan_3, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[8])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_14);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_v_assign_constant = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2323
 *             w.putln(w.error_goto_if_null("numbertab[i]", error_pos))
 * 
 *         def define_constants(defines, constants: list, start_offset: cython.Py_ssize_t = 0):             # <<<<<<<<<<<<<<
 *             i: cython.Py_ssize_t
 *             c: tuple
*/
  __pyx_t_1 = PyLong_FromSsize_t(((Py_ssize_t)0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 2323, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_constants, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 2323, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_start_offset, __pyx_mstate_global->__pyx_kp_u_cython_Py_ssize_t) < (0)) __PYX_ERR(0, 2323, __pyx_L1_error)
  __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_7define_constants, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_num_constan_4, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[9])); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_t_14);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_define_constants = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":2331
 *                 defines.putln(f"#define {cname} {numbertab_cname}[{start_offset + i}]")
 * 
 *         constant_offset: cython.Py_ssize_t = 0             # <<<<<<<<<<<<<<
 * 
 *         if float_constants:
*/
  __pyx_v_constant_offset = 0;

  /* "Cython/Compiler/Code.py":2333
 *         constant_offset: cython.Py_ssize_t = 0
 * 
 *         if float_constants:             # <<<<<<<<<<<<<<
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)};")
*/
  {
    Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_float_constants);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2333, __pyx_L1_error)
    __pyx_t_17 = (__pyx_temp != 0);
  }

  if (__pyx_t_17) {

    /* "Cython/Compiler/Code.py":2334
 * 
 *         if float_constants:
 *             w.putln("{")             # <<<<<<<<<<<<<<
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)};")
 * 
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__54};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2334, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2335
 *         if float_constants:
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)};")             # <<<<<<<<<<<<<<
 * 
 *             store_array(w, "c_constants", 'double', float_constants)
*/
    __pyx_t_1 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_numbertab_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_13 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_13, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_21[0] = __pyx_mstate_global->__pyx_kp_u_PyObject_numbertab;
    __pyx_t_21[1] = __pyx_t_7;
    __pyx_t_21[2] = __pyx_mstate_global->__pyx_kp_u__49;
    __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_21, 3, 23 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_13};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2335, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2337
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)};")
 * 
 *             store_array(w, "c_constants", 'double', float_constants)             # <<<<<<<<<<<<<<
 *             define_constants(defines, float_constants, constant_offset)
 * 
*/
    __pyx_t_6 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_store_array(__pyx_v_store_array, __pyx_v_w, __pyx_mstate_global->__pyx_n_u_c_constants, __pyx_mstate_global->__pyx_n_u_double, __pyx_v_float_constants); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2338
 * 
 *             store_array(w, "c_constants", 'double', float_constants)
 *             define_constants(defines, float_constants, constant_offset)             # <<<<<<<<<<<<<<
 * 
 *             generate_forloop_start(w, len(float_constants))
*/
    __pyx_t_6 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_6define_constants(__pyx_v_define_constants, __pyx_v_defines, __pyx_v_float_constants, __pyx_v_constant_offset); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2340
 *             define_constants(defines, float_constants, constant_offset)
 * 
 *             generate_forloop_start(w, len(float_constants))             # <<<<<<<<<<<<<<
 *             assign_constant(w, self.module_pos, "PyFloat_FromDouble(c_constants[i])")
 *             w.putln("}")  # for()
*/
    __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_float_constants); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2340, __pyx_L1_error)
    __pyx_t_6 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_2generate_forloop_start(__pyx_v_generate_forloop_start, __pyx_v_w, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2341
 * 
 *             generate_forloop_start(w, len(float_constants))
 *             assign_constant(w, self.module_pos, "PyFloat_FromDouble(c_constants[i])")             # <<<<<<<<<<<<<<
 *             w.putln("}")  # for()
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_13 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_4assign_constant(__pyx_v_assign_constant, __pyx_v_w, __pyx_t_6, __pyx_mstate_global->__pyx_kp_u_PyFloat_FromDouble_c_constants_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2342
 *             generate_forloop_start(w, len(float_constants))
 *             assign_constant(w, self.module_pos, "PyFloat_FromDouble(c_constants[i])")
 *             w.putln("}")  # for()             # <<<<<<<<<<<<<<
 * 
 *             w.putln("}")
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_13 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
    }
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2344
 *             w.putln("}")  # for()
 * 
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             constant_offset += len(float_constants)
 * 
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_13 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2344, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
    }
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2345
 * 
 *             w.putln("}")
 *             constant_offset += len(float_constants)             # <<<<<<<<<<<<<<
 * 
 *         if int_constant_count > 0:
*/
    __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_float_constants); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2345, __pyx_L1_error)
    __pyx_v_constant_offset = (__pyx_v_constant_offset + __pyx_t_4);

    /* "Cython/Compiler/Code.py":2333
 *         constant_offset: cython.Py_ssize_t = 0
 * 
 *         if float_constants:             # <<<<<<<<<<<<<<
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)};")
*/
  }

  /* "Cython/Compiler/Code.py":2347
 *             constant_offset += len(float_constants)
 * 
 *         if int_constant_count > 0:             # <<<<<<<<<<<<<<
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")
*/
  __pyx_t_13 = PyObject_RichCompare(__pyx_v_int_constant_count, __pyx_mstate_global->__pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2347, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 2347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__pyx_t_17) {

    /* "Cython/Compiler/Code.py":2348
 * 
 *         if int_constant_count > 0:
 *             w.putln("{")             # <<<<<<<<<<<<<<
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")
 * 
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__54};
      __pyx_t_13 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2348, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
    }
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2349
 *         if int_constant_count > 0:
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")             # <<<<<<<<<<<<<<
 * 
 *             int_types = ['', 'int8_t', 'int16_t', 'int32_t', 'int64_t']
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_numbertab_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __pyx_t_14 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_constant_offset, 0, ' ', 'd'); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_18[0] = __pyx_mstate_global->__pyx_kp_u_PyObject_numbertab;
    __pyx_t_18[1] = __pyx_t_7;
    __pyx_t_18[2] = __pyx_mstate_global->__pyx_kp_u__59;
    __pyx_t_18[3] = __pyx_t_14;
    __pyx_t_18[4] = __pyx_mstate_global->__pyx_kp_u__49;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_18, 5, 23 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1};
      __pyx_t_13 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2349, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
    }
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2351
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")
 * 
 *             int_types = ['', 'int8_t', 'int16_t', 'int32_t', 'int64_t']             # <<<<<<<<<<<<<<
 *             array_access = "%s"
 *             int_constants_seen: cython.Py_ssize_t = 0
*/
    __pyx_t_13 = PyList_New(5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u__9);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_13, 0, __pyx_mstate_global->__pyx_kp_u__9) != (0)) __PYX_ERR(0, 2351, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int8_t);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_int8_t);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_13, 1, __pyx_mstate_global->__pyx_n_u_int8_t) != (0)) __PYX_ERR(0, 2351, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int16_t);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_int16_t);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_13, 2, __pyx_mstate_global->__pyx_n_u_int16_t) != (0)) __PYX_ERR(0, 2351, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int32_t);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_int32_t);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_13, 3, __pyx_mstate_global->__pyx_n_u_int32_t) != (0)) __PYX_ERR(0, 2351, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_int64_t);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_int64_t);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_13, 4, __pyx_mstate_global->__pyx_n_u_int64_t) != (0)) __PYX_ERR(0, 2351, __pyx_L1_error);
    __pyx_v_int_types = ((PyObject*)__pyx_t_13);
    __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2352
 * 
 *             int_types = ['', 'int8_t', 'int16_t', 'int32_t', 'int64_t']
 *             array_access = "%s"             # <<<<<<<<<<<<<<
 *             int_constants_seen: cython.Py_ssize_t = 0
 *             byte_size: cython.int
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_s_7);
    __pyx_v_array_access = __pyx_mstate_global->__pyx_kp_u_s_7;

    /* "Cython/Compiler/Code.py":2353
 *             int_types = ['', 'int8_t', 'int16_t', 'int32_t', 'int64_t']
 *             array_access = "%s"
 *             int_constants_seen: cython.Py_ssize_t = 0             # <<<<<<<<<<<<<<
 *             byte_size: cython.int
 *             for byte_size, constants in enumerate(int_constants_by_bytesize, 1):
*/
    __pyx_v_int_constants_seen = 0;

    /* "Cython/Compiler/Code.py":2355
 *             int_constants_seen: cython.Py_ssize_t = 0
 *             byte_size: cython.int
 *             for byte_size, constants in enumerate(int_constants_by_bytesize, 1):             # <<<<<<<<<<<<<<
 *                 if not constants:
 *                     continue
*/
    __pyx_t_5 = 1;
    __pyx_t_13 = __pyx_v_int_constants_by_bytesize; __Pyx_INCREF(__pyx_t_13);
    __pyx_t_4 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_13);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2355, __pyx_L1_error)
        #endif
        if (__pyx_t_4 >= __pyx_temp) break;
      }
      __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_13, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_4;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2355, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_constants, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_v_byte_size = __pyx_t_5;
      __pyx_t_5 = (__pyx_t_5 + 1);

      /* "Cython/Compiler/Code.py":2356
 *             byte_size: cython.int
 *             for byte_size, constants in enumerate(int_constants_by_bytesize, 1):
 *                 if not constants:             # <<<<<<<<<<<<<<
 *                     continue
 * 
*/
      __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_constants); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 2356, __pyx_L1_error)
      __pyx_t_16 = (!__pyx_t_17);
      if (__pyx_t_16) {

        /* "Cython/Compiler/Code.py":2357
 *             for byte_size, constants in enumerate(int_constants_by_bytesize, 1):
 *                 if not constants:
 *                     continue             # <<<<<<<<<<<<<<
 * 
 *                 array_name = f"cint_constants_{1 << (byte_size - 1)}"
*/
        goto __pyx_L21_continue;

        /* "Cython/Compiler/Code.py":2356
 *             byte_size: cython.int
 *             for byte_size, constants in enumerate(int_constants_by_bytesize, 1):
 *                 if not constants:             # <<<<<<<<<<<<<<
 *                     continue
 * 
*/
      }

      /* "Cython/Compiler/Code.py":2359
 *                     continue
 * 
 *                 array_name = f"cint_constants_{1 << (byte_size - 1)}"             # <<<<<<<<<<<<<<
 *                 store_array(w, array_name, int_types[byte_size], constants)
 *                 define_constants(defines, constants, constant_offset + int_constants_seen)
*/
      __pyx_t_1 = __Pyx_PyUnicode_From_long((1 << (__pyx_v_byte_size - 1)), 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_cint_constants, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF_SET(__pyx_v_array_name, ((PyObject*)__pyx_t_6));
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":2360
 * 
 *                 array_name = f"cint_constants_{1 << (byte_size - 1)}"
 *                 store_array(w, array_name, int_types[byte_size], constants)             # <<<<<<<<<<<<<<
 *                 define_constants(defines, constants, constant_offset + int_constants_seen)
 * 
*/
      __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_int_types, __pyx_v_byte_size, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2360, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (!(likely(PyUnicode_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_6))) __PYX_ERR(0, 2360, __pyx_L1_error)
      __pyx_t_1 = __pyx_v_constants;
      __Pyx_INCREF(__pyx_t_1);
      if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(0, 2360, __pyx_L1_error)
      __pyx_t_14 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_store_array(__pyx_v_store_array, __pyx_v_w, __pyx_v_array_name, ((PyObject*)__pyx_t_6), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2360, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "Cython/Compiler/Code.py":2361
 *                 array_name = f"cint_constants_{1 << (byte_size - 1)}"
 *                 store_array(w, array_name, int_types[byte_size], constants)
 *                 define_constants(defines, constants, constant_offset + int_constants_seen)             # <<<<<<<<<<<<<<
 * 
 *                 read_item = f"{array_name}[i - {int_constants_seen}]"
*/
      __pyx_t_14 = __pyx_v_constants;
      __Pyx_INCREF(__pyx_t_14);
      if (!(likely(PyList_CheckExact(__pyx_t_14))||((__pyx_t_14) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_14))) __PYX_ERR(0, 2361, __pyx_L1_error)
      __pyx_t_1 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_6define_constants(__pyx_v_define_constants, __pyx_v_defines, ((PyObject*)__pyx_t_14), (__pyx_v_constant_offset + __pyx_v_int_constants_seen)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2363
 *                 define_constants(defines, constants, constant_offset + int_constants_seen)
 * 
 *                 read_item = f"{array_name}[i - {int_constants_seen}]"             # <<<<<<<<<<<<<<
 *                 int_constants_seen += len(constants)
 *                 array_access %= (
*/
      __pyx_t_1 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_int_constants_seen, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_22[0] = __pyx_v_array_name;
      __pyx_t_22[1] = __pyx_mstate_global->__pyx_kp_u_i_8;
      __pyx_t_22[2] = __pyx_t_1;
      __pyx_t_22[3] = __pyx_mstate_global->__pyx_kp_u__23;
      __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_22, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_v_array_name) + 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_array_name));
      if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF_SET(__pyx_v_read_item, ((PyObject*)__pyx_t_14));
      __pyx_t_14 = 0;

      /* "Cython/Compiler/Code.py":2364
 * 
 *                 read_item = f"{array_name}[i - {int_constants_seen}]"
 *                 int_constants_seen += len(constants)             # <<<<<<<<<<<<<<
 *                 array_access %= (
 *                     read_item if byte_size == len(int_constants_by_bytesize)  # last is simple access
*/
      __pyx_t_3 = PyObject_Length(__pyx_v_constants); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2364, __pyx_L1_error)
      __pyx_v_int_constants_seen = (__pyx_v_int_constants_seen + __pyx_t_3);

      /* "Cython/Compiler/Code.py":2366
 *                 int_constants_seen += len(constants)
 *                 array_access %= (
 *                     read_item if byte_size == len(int_constants_by_bytesize)  # last is simple access             # <<<<<<<<<<<<<<
 *                     else f"(i < {int_constants_seen} ? {read_item} : %s)"  # otherwise, access arrays step by step
 *                 )
*/
      __pyx_t_3 = __Pyx_PyList_GET_SIZE(__pyx_v_int_constants_by_bytesize); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2366, __pyx_L1_error)
      __pyx_t_16 = (__pyx_v_byte_size == __pyx_t_3);
      if (__pyx_t_16) {
        __Pyx_INCREF(__pyx_v_read_item);
        __pyx_t_14 = __pyx_v_read_item;
      } else {

        /* "Cython/Compiler/Code.py":2367
 *                 array_access %= (
 *                     read_item if byte_size == len(int_constants_by_bytesize)  # last is simple access
 *                     else f"(i < {int_constants_seen} ? {read_item} : %s)"  # otherwise, access arrays step by step             # <<<<<<<<<<<<<<
 *                 )
 * 
*/
        __pyx_t_1 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_int_constants_seen, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_18[0] = __pyx_mstate_global->__pyx_kp_u_i_9;
        __pyx_t_18[1] = __pyx_t_1;
        __pyx_t_18[2] = __pyx_mstate_global->__pyx_kp_u__60;
        __pyx_t_18[3] = __pyx_v_read_item;
        __pyx_t_18[4] = __pyx_mstate_global->__pyx_kp_u_s_8;
        __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_18, 5, 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_read_item) + 6, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_read_item));
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2367, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_14 = __pyx_t_6;
        __pyx_t_6 = 0;
      }

      /* "Cython/Compiler/Code.py":2365
 *                 read_item = f"{array_name}[i - {int_constants_seen}]"
 *                 int_constants_seen += len(constants)
 *                 array_access %= (             # <<<<<<<<<<<<<<
 *                     read_item if byte_size == len(int_constants_by_bytesize)  # last is simple access
 *                     else f"(i < {int_constants_seen} ? {read_item} : %s)"  # otherwise, access arrays step by step
*/
      __pyx_t_6 = PyUnicode_Format(__pyx_v_array_access, __pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF_SET(__pyx_v_array_access, ((PyObject*)__pyx_t_6));
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":2355
 *             int_constants_seen: cython.Py_ssize_t = 0
 *             byte_size: cython.int
 *             for byte_size, constants in enumerate(int_constants_by_bytesize, 1):             # <<<<<<<<<<<<<<
 *                 if not constants:
 *                     continue
*/
      __pyx_L21_continue:;
    }
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2370
 *                 )
 * 
 *             generate_forloop_start(w, int_constant_count)             # <<<<<<<<<<<<<<
 *             capi_func = "PyLong_FromLong" if len(int_constants_by_bytesize) <= 3 else "PyLong_FromLongLong"
 *             assign_constant(w, self.module_pos, f"{capi_func}({array_access})")
*/
    __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_v_int_constant_count); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2370, __pyx_L1_error)
    __pyx_t_13 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_2generate_forloop_start(__pyx_v_generate_forloop_start, __pyx_v_w, __pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2371
 * 
 *             generate_forloop_start(w, int_constant_count)
 *             capi_func = "PyLong_FromLong" if len(int_constants_by_bytesize) <= 3 else "PyLong_FromLongLong"             # <<<<<<<<<<<<<<
 *             assign_constant(w, self.module_pos, f"{capi_func}({array_access})")
 *             w.putln("}")  # for()
*/
    __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_int_constants_by_bytesize); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2371, __pyx_L1_error)
    __pyx_t_16 = (__pyx_t_4 <= 3);
    if (__pyx_t_16) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_PyLong_FromLong);
      __pyx_t_13 = __pyx_mstate_global->__pyx_n_u_PyLong_FromLong;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_PyLong_FromLongLong);
      __pyx_t_13 = __pyx_mstate_global->__pyx_n_u_PyLong_FromLongLong;
    }
    __pyx_v_capi_func = ((PyObject*)__pyx_t_13);
    __pyx_t_13 = 0;

    /* "Cython/Compiler/Code.py":2372
 *             generate_forloop_start(w, int_constant_count)
 *             capi_func = "PyLong_FromLong" if len(int_constants_by_bytesize) <= 3 else "PyLong_FromLongLong"
 *             assign_constant(w, self.module_pos, f"{capi_func}({array_access})")             # <<<<<<<<<<<<<<
 *             w.putln("}")  # for()
 * 
*/
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_6 = __Pyx_PyUnicode_Unicode(__pyx_v_capi_func); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_22[0] = __pyx_t_6;
    __pyx_t_22[1] = __pyx_mstate_global->__pyx_kp_u__15;
    __pyx_t_22[2] = __pyx_v_array_access;
    __pyx_t_22[3] = __pyx_mstate_global->__pyx_kp_u__7;
    __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_22, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_array_access), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_array_access));
    if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_4assign_constant(__pyx_v_assign_constant, __pyx_v_w, __pyx_t_13, ((PyObject*)__pyx_t_14)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2373
 *             capi_func = "PyLong_FromLong" if len(int_constants_by_bytesize) <= 3 else "PyLong_FromLongLong"
 *             assign_constant(w, self.module_pos, f"{capi_func}({array_access})")
 *             w.putln("}")  # for()             # <<<<<<<<<<<<<<
 * 
 *             w.putln("}")
*/
    __pyx_t_14 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_14);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2373, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2375
 *             w.putln("}")  # for()
 * 
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             constant_offset += int_constant_count
 * 
*/
    __pyx_t_14 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_14);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2375, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2376
 * 
 *             w.putln("}")
 *             constant_offset += int_constant_count             # <<<<<<<<<<<<<<
 * 
 *         if large_constants:
*/
    __pyx_t_6 = PyLong_FromSsize_t(__pyx_v_constant_offset); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_v_int_constant_count); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_t_14); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2376, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __pyx_v_constant_offset = __pyx_t_4;

    /* "Cython/Compiler/Code.py":2347
 *             constant_offset += len(float_constants)
 * 
 *         if int_constant_count > 0:             # <<<<<<<<<<<<<<
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")
*/
  }

  /* "Cython/Compiler/Code.py":2378
 *             constant_offset += int_constant_count
 * 
 *         if large_constants:             # <<<<<<<<<<<<<<
 *             # We store large integer constants in a single '\0'-separated C string of base32 digits.
 *             def to_base32(number):
*/
  {
    Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_large_constants);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2378, __pyx_L1_error)
    __pyx_t_16 = (__pyx_temp != 0);
  }

  if (__pyx_t_16) {

    /* "Cython/Compiler/Code.py":2380
 *         if large_constants:
 *             # We store large integer constants in a single '\0'-separated C string of base32 digits.
 *             def to_base32(number):             # <<<<<<<<<<<<<<
 *                 is_neg: bool = number < 0
 *                 if is_neg:
*/
    __pyx_t_14 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_9to_base32, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_num_constan_5, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[10])); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_v_to_base32 = __pyx_t_14;
    __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2399
 *                 return digits
 * 
 *             w.putln("{")             # <<<<<<<<<<<<<<
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")
 *             c_string = b'\\000'.join([to_base32(c[1]) for c in large_constants]).decode('ascii')
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u__54};
      __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2399, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
    }
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2400
 * 
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")             # <<<<<<<<<<<<<<
 *             c_string = b'\\000'.join([to_base32(c[1]) for c in large_constants]).decode('ascii')
 *             w.putln(f'const char* c_constant = "{StringEncoding.split_string_literal(c_string)}";')
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_numbertab_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_constant_offset, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_18[0] = __pyx_mstate_global->__pyx_kp_u_PyObject_numbertab;
    __pyx_t_18[1] = __pyx_t_1;
    __pyx_t_18[2] = __pyx_mstate_global->__pyx_kp_u__59;
    __pyx_t_18[3] = __pyx_t_7;
    __pyx_t_18[4] = __pyx_mstate_global->__pyx_kp_u__49;
    __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_18, 5, 23 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
    if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_13};
      __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2400, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
    }
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2401
 *             w.putln("{")
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")
 *             c_string = b'\\000'.join([to_base32(c[1]) for c in large_constants]).decode('ascii')             # <<<<<<<<<<<<<<
 *             w.putln(f'const char* c_constant = "{StringEncoding.split_string_literal(c_string)}";')
 *             define_constants(defines, large_constants, constant_offset)
*/
    { /* enter inner scope */
      __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2401, __pyx_L28_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_13 = __pyx_v_large_constants; __Pyx_INCREF(__pyx_t_13);
      __pyx_t_4 = 0;
      for (;;) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_13);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2401, __pyx_L28_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_13, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_4;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2401, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_XDECREF_SET(__pyx_9genexpr15__pyx_v_c, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_GetItemInt(__pyx_9genexpr15__pyx_v_c, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2401, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_8to_base32(__pyx_v_to_base32, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2401, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_14, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 2401, __pyx_L28_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_c); __pyx_9genexpr15__pyx_v_c = 0;
      goto __pyx_L32_exit_scope;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_c); __pyx_9genexpr15__pyx_v_c = 0;
      goto __pyx_L1_error;
      __pyx_L32_exit_scope:;
    } /* exit inner scope */
    __pyx_t_13 = __Pyx_PyBytes_Join(__pyx_mstate_global->__pyx_kp_b_000, __pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(__pyx_t_13 == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "decode");
      __PYX_ERR(0, 2401, __pyx_L1_error)
    }
    __pyx_t_14 = __Pyx_decode_bytes(__pyx_t_13, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_v_c_string = ((PyObject*)__pyx_t_14);
    __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2402
 *             w.putln(f"PyObject **numbertab = {w.name_in_main_c_code_module_state(Naming.numbertab_cname)} + {constant_offset};")
 *             c_string = b'\\000'.join([to_base32(c[1]) for c in large_constants]).decode('ascii')
 *             w.putln(f'const char* c_constant = "{StringEncoding.split_string_literal(c_string)}";')             # <<<<<<<<<<<<<<
 *             define_constants(defines, large_constants, constant_offset)
 * 
*/
    __pyx_t_13 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_13);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_mstate_global->__pyx_n_u_split_string_literal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_c_string); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_21[0] = __pyx_mstate_global->__pyx_kp_u_const_char_c_constant;
    __pyx_t_21[1] = __pyx_t_7;
    __pyx_t_21[2] = __pyx_mstate_global->__pyx_kp_u__51;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_21, 3, 26 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_6};
      __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2402, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
    }
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2403
 *             c_string = b'\\000'.join([to_base32(c[1]) for c in large_constants]).decode('ascii')
 *             w.putln(f'const char* c_constant = "{StringEncoding.split_string_literal(c_string)}";')
 *             define_constants(defines, large_constants, constant_offset)             # <<<<<<<<<<<<<<
 * 
 *             generate_forloop_start(w, len(large_constants))
*/
    __pyx_t_14 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_6define_constants(__pyx_v_define_constants, __pyx_v_defines, __pyx_v_large_constants, __pyx_v_constant_offset); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2405
 *             define_constants(defines, large_constants, constant_offset)
 * 
 *             generate_forloop_start(w, len(large_constants))             # <<<<<<<<<<<<<<
 *             w.putln("char *end_pos;")
 *             assign_constant(w, self.module_pos, "PyLong_FromString(c_constant, &end_pos, 32)")
*/
    __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_large_constants); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2405, __pyx_L1_error)
    __pyx_t_14 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_2generate_forloop_start(__pyx_v_generate_forloop_start, __pyx_v_w, __pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2406
 * 
 *             generate_forloop_start(w, len(large_constants))
 *             w.putln("char *end_pos;")             # <<<<<<<<<<<<<<
 *             assign_constant(w, self.module_pos, "PyLong_FromString(c_constant, &end_pos, 32)")
 *             w.putln("c_constant = end_pos + 1;")
*/
    __pyx_t_6 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_char_end_pos};
      __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2406, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
    }
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "Cython/Compiler/Code.py":2407
 *             generate_forloop_start(w, len(large_constants))
 *             w.putln("char *end_pos;")
 *             assign_constant(w, self.module_pos, "PyLong_FromString(c_constant, &end_pos, 32)")             # <<<<<<<<<<<<<<
 *             w.putln("c_constant = end_pos + 1;")
 *             w.putln("}")  # for()
*/
    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_module_pos); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_6 = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22generate_num_constants_4assign_constant(__pyx_v_assign_constant, __pyx_v_w, __pyx_t_14, __pyx_mstate_global->__pyx_kp_u_PyLong_FromString_c_constant_end); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2408
 *             w.putln("char *end_pos;")
 *             assign_constant(w, self.module_pos, "PyLong_FromString(c_constant, &end_pos, 32)")
 *             w.putln("c_constant = end_pos + 1;")             # <<<<<<<<<<<<<<
 *             w.putln("}")  # for()
 * 
*/
    __pyx_t_14 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_14);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u_c_constant_end_pos_1};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2408, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2409
 *             assign_constant(w, self.module_pos, "PyLong_FromString(c_constant, &end_pos, 32)")
 *             w.putln("c_constant = end_pos + 1;")
 *             w.putln("}")  # for()             # <<<<<<<<<<<<<<
 * 
 *             w.putln("}")
*/
    __pyx_t_14 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_14);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2409, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2411
 *             w.putln("}")  # for()
 * 
 *             w.putln("}")             # <<<<<<<<<<<<<<
 * 
 *         self.immortalize_constants(
*/
    __pyx_t_14 = __pyx_v_w;
    __Pyx_INCREF(__pyx_t_14);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__43};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2378
 *             constant_offset += int_constant_count
 * 
 *         if large_constants:             # <<<<<<<<<<<<<<
 *             # We store large integer constants in a single '\0'-separated C string of base32 digits.
 *             def to_base32(number):
*/
  }

  /* "Cython/Compiler/Code.py":2413
 *             w.putln("}")
 * 
 *         self.immortalize_constants(             # <<<<<<<<<<<<<<
 *             w.name_in_main_c_code_module_state(Naming.numbertab_cname),
 *             constant_count,
*/
  __pyx_t_14 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_14);

  /* "Cython/Compiler/Code.py":2414
 * 
 *         self.immortalize_constants(
 *             w.name_in_main_c_code_module_state(Naming.numbertab_cname),             # <<<<<<<<<<<<<<
 *             constant_count,
 *             w)
*/
  __pyx_t_7 = __pyx_v_w;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_numbertab_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1};
    __pyx_t_13 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
  }

  /* "Cython/Compiler/Code.py":2415
 *         self.immortalize_constants(
 *             w.name_in_main_c_code_module_state(Naming.numbertab_cname),
 *             constant_count,             # <<<<<<<<<<<<<<
 *             w)
 * 
*/
  __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_constant_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":2416
 *             w.name_in_main_c_code_module_state(Naming.numbertab_cname),
 *             constant_count,
 *             w)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_14, __pyx_t_13, __pyx_t_1, __pyx_v_w};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_immortalize_constants, __pyx_callargs+__pyx_t_11, (4-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":2269
 *         self._generate_module_array_traverse_and_clear(Naming.codeobjtab_cname, code_object_count, may_have_refcycles=False)
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.generate_num_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_consts);
  __Pyx_XDECREF(__pyx_v_float_constants);
  __Pyx_XDECREF(__pyx_v_int_constants_by_bytesize);
  __Pyx_XDECREF(__pyx_v_large_constants);
  __Pyx_XDECREF(__pyx_v_int_constant_count);
  __Pyx_XDECREF(__pyx_v_int_suffix);
  __Pyx_XDECREF(__pyx_v_py_type);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_value_code);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_number_value);
  __Pyx_XDECREF(__pyx_v_bit_length);
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_defines);
  __Pyx_XDECREF(__pyx_v_store_array);
  __Pyx_XDECREF(__pyx_v_generate_forloop_start);
  __Pyx_XDECREF(__pyx_v_assign_constant);
  __Pyx_XDECREF(__pyx_v_define_constants);
  __Pyx_XDECREF(__pyx_v_int_types);
  __Pyx_XDECREF(__pyx_v_array_access);
  __Pyx_XDECREF(__pyx_v_constants);
  __Pyx_XDECREF(__pyx_v_array_name);
  __Pyx_XDECREF(__pyx_v_read_item);
  __Pyx_XDECREF(__pyx_v_capi_func);
  __Pyx_XDECREF(__pyx_v_to_base32);
  __Pyx_XDECREF(__pyx_v_c_string);
  __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_c);
  __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2418
 *             w)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def immortalize_constants(array_cname, constant_count, writer):
 *         writer.putln("#if CYTHON_IMMORTAL_CONSTANTS")
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_73immortalize_constants(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_73immortalize_constants = {"immortalize_constants", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_73immortalize_constants, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_73immortalize_constants(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_array_cname = 0;
  PyObject *__pyx_v_constant_count = 0;
  PyObject *__pyx_v_writer = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("immortalize_constants (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_array_cname,&__pyx_mstate_global->__pyx_n_u_constant_count,&__pyx_mstate_global->__pyx_n_u_writer,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2418, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2418, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2418, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2418, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "immortalize_constants", 0) < (0)) __PYX_ERR(0, 2418, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("immortalize_constants", 1, 3, 3, i); __PYX_ERR(0, 2418, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2418, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2418, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2418, __pyx_L3_error)
    }
    __pyx_v_array_cname = values[0];
    __pyx_v_constant_count = values[1];
    __pyx_v_writer = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("immortalize_constants", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 2418, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.immortalize_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_72immortalize_constants(__pyx_self, __pyx_v_array_cname, __pyx_v_constant_count, __pyx_v_writer);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_72immortalize_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array_cname, PyObject *__pyx_v_constant_count, PyObject *__pyx_v_writer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5[3];
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("immortalize_constants", 0);

  /* "Cython/Compiler/Code.py":2420
 *     @staticmethod
 *     def immortalize_constants(array_cname, constant_count, writer):
 *         writer.putln("#if CYTHON_IMMORTAL_CONSTANTS")             # <<<<<<<<<<<<<<
 *         writer.putln("{")
 *         writer.putln(f"PyObject **table = {array_cname};")
*/
  __pyx_t_2 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_if_CYTHON_IMMORTAL_CONSTANTS};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2421
 *     def immortalize_constants(array_cname, constant_count, writer):
 *         writer.putln("#if CYTHON_IMMORTAL_CONSTANTS")
 *         writer.putln("{")             # <<<<<<<<<<<<<<
 *         writer.putln(f"PyObject **table = {array_cname};")
 *         writer.putln(f"for (Py_ssize_t i=0; i<{constant_count}; ++i) {{")
*/
  __pyx_t_2 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__54};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2422
 *         writer.putln("#if CYTHON_IMMORTAL_CONSTANTS")
 *         writer.putln("{")
 *         writer.putln(f"PyObject **table = {array_cname};")             # <<<<<<<<<<<<<<
 *         writer.putln(f"for (Py_ssize_t i=0; i<{constant_count}; ++i) {{")
 *         writer.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
*/
  __pyx_t_2 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_array_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_PyObject_table;
  __pyx_t_5[1] = __pyx_t_4;
  __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__49;
  __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, 19 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2423
 *         writer.putln("{")
 *         writer.putln(f"PyObject **table = {array_cname};")
 *         writer.putln(f"for (Py_ssize_t i=0; i<{constant_count}; ++i) {{")             # <<<<<<<<<<<<<<
 *         writer.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         # We don't want to set the refcount on shared constants (e.g. cached integers)
*/
  __pyx_t_6 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_constant_count, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_for_Py_ssize_t_i_0_i_2;
  __pyx_t_5[1] = __pyx_t_2;
  __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u_i_10;
  __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, 23 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2424
 *         writer.putln(f"PyObject **table = {array_cname};")
 *         writer.putln(f"for (Py_ssize_t i=0; i<{constant_count}; ++i) {{")
 *         writer.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")             # <<<<<<<<<<<<<<
 *         # We don't want to set the refcount on shared constants (e.g. cached integers)
 *         # because setting the refcount isn't thread-safe. The chances are that most of the constants
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_if_CYTHON_COMPILING_IN_CPYTHON};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2428
 *         # because setting the refcount isn't thread-safe. The chances are that most of the constants
 *         # that this applies to are already immortal though so that isn't a great loss.
 *         writer.putln("#if PY_VERSION_HEX < 0x030E0000")             # <<<<<<<<<<<<<<
 *         writer.putln("if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)")
 *         writer.putln("#else")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_if_PY_VERSION_HEX_0x030E0000};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2429
 *         # that this applies to are already immortal though so that isn't a great loss.
 *         writer.putln("#if PY_VERSION_HEX < 0x030E0000")
 *         writer.putln("if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)")             # <<<<<<<<<<<<<<
 *         writer.putln("#else")
 *         writer.putln("if (PyUnstable_Object_IsUniquelyReferenced(table[i]))")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_if__Py_IsOwnedByCurrentThread_ta};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2430
 *         writer.putln("#if PY_VERSION_HEX < 0x030E0000")
 *         writer.putln("if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)")
 *         writer.putln("#else")             # <<<<<<<<<<<<<<
 *         writer.putln("if (PyUnstable_Object_IsUniquelyReferenced(table[i]))")
 *         writer.putln("#endif")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_else};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2431
 *         writer.putln("if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)")
 *         writer.putln("#else")
 *         writer.putln("if (PyUnstable_Object_IsUniquelyReferenced(table[i]))")             # <<<<<<<<<<<<<<
 *         writer.putln("#endif")
 *         writer.putln("{")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_if_PyUnstable_Object_IsUniquelyR};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2432
 *         writer.putln("#else")
 *         writer.putln("if (PyUnstable_Object_IsUniquelyReferenced(table[i]))")
 *         writer.putln("#endif")             # <<<<<<<<<<<<<<
 *         writer.putln("{")
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_endif};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2433
 *         writer.putln("if (PyUnstable_Object_IsUniquelyReferenced(table[i]))")
 *         writer.putln("#endif")
 *         writer.putln("{")             # <<<<<<<<<<<<<<
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);")
 *         writer.putln("}")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__54};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2434
 *         writer.putln("#endif")
 *         writer.putln("{")
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);")             # <<<<<<<<<<<<<<
 *         writer.putln("}")
 *         writer.putln("#else")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Py_SET_REFCNT_table_i__Py_IMMORT};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2435
 *         writer.putln("{")
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);")
 *         writer.putln("}")             # <<<<<<<<<<<<<<
 *         writer.putln("#else")
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2436
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);")
 *         writer.putln("}")
 *         writer.putln("#else")             # <<<<<<<<<<<<<<
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);")
 *         writer.putln("#endif")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_else};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2437
 *         writer.putln("}")
 *         writer.putln("#else")
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);")             # <<<<<<<<<<<<<<
 *         writer.putln("#endif")
 *         writer.putln("}")  # for()
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Py_SET_REFCNT_table_i__Py_IMMORT_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2438
 *         writer.putln("#else")
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);")
 *         writer.putln("#endif")             # <<<<<<<<<<<<<<
 *         writer.putln("}")  # for()
 *         writer.putln("}")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_endif};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2439
 *         writer.putln("Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);")
 *         writer.putln("#endif")
 *         writer.putln("}")  # for()             # <<<<<<<<<<<<<<
 *         writer.putln("}")
 *         writer.putln("#endif")
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2440
 *         writer.putln("#endif")
 *         writer.putln("}")  # for()
 *         writer.putln("}")             # <<<<<<<<<<<<<<
 *         writer.putln("#endif")
 * 
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__43};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2441
 *         writer.putln("}")  # for()
 *         writer.putln("}")
 *         writer.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     # The functions below are there in a transition phase only
*/
  __pyx_t_4 = __pyx_v_writer;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_endif};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2418
 *             w)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def immortalize_constants(array_cname, constant_count, writer):
 *         writer.putln("#if CYTHON_IMMORTAL_CONSTANTS")
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.immortalize_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2448
 *     # to see quickly how BlockNode worked, until this is replaced.
 * 
 *     def should_declare(self, cname, entry):             # <<<<<<<<<<<<<<
 *         if cname in self.declared_cnames:
 *             other = self.declared_cnames[cname]
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_75should_declare(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_75should_declare = {"should_declare", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_75should_declare, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_75should_declare(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_entry = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("should_declare (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_entry,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2448, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2448, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2448, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2448, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "should_declare", 0) < (0)) __PYX_ERR(0, 2448, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("should_declare", 1, 3, 3, i); __PYX_ERR(0, 2448, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2448, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2448, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2448, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_entry = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("should_declare", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 2448, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.should_declare", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_74should_declare(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_entry);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_74should_declare(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_entry) {
  PyObject *__pyx_v_other = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("should_declare", 0);

  /* "Cython/Compiler/Code.py":2449
 * 
 *     def should_declare(self, cname, entry):
 *         if cname in self.declared_cnames:             # <<<<<<<<<<<<<<
 *             other = self.declared_cnames[cname]
 *             assert str(entry.type) == str(other.type)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_declared_cnames); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_cname, __pyx_t_1, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":2450
 *     def should_declare(self, cname, entry):
 *         if cname in self.declared_cnames:
 *             other = self.declared_cnames[cname]             # <<<<<<<<<<<<<<
 *             assert str(entry.type) == str(other.type)
 *             assert entry.init == other.init
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_declared_cnames); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_other = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2451
 *         if cname in self.declared_cnames:
 *             other = self.declared_cnames[cname]
 *             assert str(entry.type) == str(other.type)             # <<<<<<<<<<<<<<
 *             assert entry.init == other.init
 *             return False
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2451, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2451, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2451, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2451, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_t_4, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2451, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(0, 2451, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(0, 2451, __pyx_L1_error)
    #endif

    /* "Cython/Compiler/Code.py":2452
 *             other = self.declared_cnames[cname]
 *             assert str(entry.type) == str(other.type)
 *             assert entry.init == other.init             # <<<<<<<<<<<<<<
 *             return False
 *         else:
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2452, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2452, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(0, 2452, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(0, 2452, __pyx_L1_error)
    #endif

    /* "Cython/Compiler/Code.py":2453
 *             assert str(entry.type) == str(other.type)
 *             assert entry.init == other.init
 *             return False             # <<<<<<<<<<<<<<
 *         else:
 *             self.declared_cnames[cname] = entry
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2449
 * 
 *     def should_declare(self, cname, entry):
 *         if cname in self.declared_cnames:             # <<<<<<<<<<<<<<
 *             other = self.declared_cnames[cname]
 *             assert str(entry.type) == str(other.type)
*/
  }

  /* "Cython/Compiler/Code.py":2455
 *             return False
 *         else:
 *             self.declared_cnames[cname] = entry             # <<<<<<<<<<<<<<
 *             return True
 * 
*/
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_declared_cnames); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_v_cname, __pyx_v_entry) < 0))) __PYX_ERR(0, 2455, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2456
 *         else:
 *             self.declared_cnames[cname] = entry
 *             return True             # <<<<<<<<<<<<<<
 * 
 *     #
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;
  }

  /* "Cython/Compiler/Code.py":2448
 *     # to see quickly how BlockNode worked, until this is replaced.
 * 
 *     def should_declare(self, cname, entry):             # <<<<<<<<<<<<<<
 *         if cname in self.declared_cnames:
 *             other = self.declared_cnames[cname]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.should_declare", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_other);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2462
 *     #
 * 
 *     def lookup_filename(self, source_desc):             # <<<<<<<<<<<<<<
 *         entry = source_desc.get_filenametable_entry()
 *         try:
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_77lookup_filename(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_77lookup_filename = {"lookup_filename", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_77lookup_filename, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_77lookup_filename(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_source_desc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lookup_filename (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_source_desc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2462, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2462, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2462, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lookup_filename", 0) < (0)) __PYX_ERR(0, 2462, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lookup_filename", 1, 2, 2, i); __PYX_ERR(0, 2462, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2462, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2462, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_source_desc = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lookup_filename", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2462, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.lookup_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_76lookup_filename(__pyx_self, __pyx_v_self, __pyx_v_source_desc);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_76lookup_filename(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_source_desc) {
  PyObject *__pyx_v_entry = NULL;
  PyObject *__pyx_v_index = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  Py_ssize_t __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lookup_filename", 0);

  /* "Cython/Compiler/Code.py":2463
 * 
 *     def lookup_filename(self, source_desc):
 *         entry = source_desc.get_filenametable_entry()             # <<<<<<<<<<<<<<
 *         try:
 *             index = self.filename_table[entry]
*/
  __pyx_t_2 = __pyx_v_source_desc;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_filenametable_entry, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_entry = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2464
 *     def lookup_filename(self, source_desc):
 *         entry = source_desc.get_filenametable_entry()
 *         try:             # <<<<<<<<<<<<<<
 *             index = self.filename_table[entry]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_6);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":2465
 *         entry = source_desc.get_filenametable_entry()
 *         try:
 *             index = self.filename_table[entry]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             index = len(self.filename_list)
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_filename_table); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2465, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_entry); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2465, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_index = __pyx_t_2;
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":2464
 *     def lookup_filename(self, source_desc):
 *         entry = source_desc.get_filenametable_entry()
 *         try:             # <<<<<<<<<<<<<<
 *             index = self.filename_table[entry]
 *         except KeyError:
*/
    }
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2466
 *         try:
 *             index = self.filename_table[entry]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             index = len(self.filename_list)
 *             self.filename_list.append(source_desc)
*/
    __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_7) {
      __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.lookup_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 2466, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_2);
      __Pyx_XGOTREF(__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_8);

      /* "Cython/Compiler/Code.py":2467
 *             index = self.filename_table[entry]
 *         except KeyError:
 *             index = len(self.filename_list)             # <<<<<<<<<<<<<<
 *             self.filename_list.append(source_desc)
 *             self.filename_table[entry] = index
*/
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_filename_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2467, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2467, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2467, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_9);
      __pyx_t_9 = 0;

      /* "Cython/Compiler/Code.py":2468
 *         except KeyError:
 *             index = len(self.filename_list)
 *             self.filename_list.append(source_desc)             # <<<<<<<<<<<<<<
 *             self.filename_table[entry] = index
 *         return index
*/
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_filename_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2468, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_v_source_desc); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 2468, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "Cython/Compiler/Code.py":2469
 *             index = len(self.filename_list)
 *             self.filename_list.append(source_desc)
 *             self.filename_table[entry] = index             # <<<<<<<<<<<<<<
 *         return index
 * 
*/
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_filename_table); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2469, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely((PyObject_SetItem(__pyx_t_9, __pyx_v_entry, __pyx_v_index) < 0))) __PYX_ERR(0, 2469, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "Cython/Compiler/Code.py":2464
 *     def lookup_filename(self, source_desc):
 *         entry = source_desc.get_filenametable_entry()
 *         try:             # <<<<<<<<<<<<<<
 *             index = self.filename_table[entry]
 *         except KeyError:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
    __pyx_L8_try_end:;
  }

  /* "Cython/Compiler/Code.py":2470
 *             self.filename_list.append(source_desc)
 *             self.filename_table[entry] = index
 *         return index             # <<<<<<<<<<<<<<
 * 
 *     def commented_file_contents(self, source_desc):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_index);
  __pyx_r = __pyx_v_index;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2462
 *     #
 * 
 *     def lookup_filename(self, source_desc):             # <<<<<<<<<<<<<<
 *         entry = source_desc.get_filenametable_entry()
 *         try:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.lookup_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_entry);
  __Pyx_XDECREF(__pyx_v_index);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2472
 *         return index
 * 
 *     def commented_file_contents(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             return self.input_file_contents[source_desc]
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_79commented_file_contents(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_79commented_file_contents = {"commented_file_contents", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_79commented_file_contents, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_79commented_file_contents(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_source_desc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("commented_file_contents (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_source_desc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2472, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2472, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2472, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "commented_file_contents", 0) < (0)) __PYX_ERR(0, 2472, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("commented_file_contents", 1, 2, 2, i); __PYX_ERR(0, 2472, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2472, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2472, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_source_desc = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("commented_file_contents", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2472, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.commented_file_contents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_78commented_file_contents(__pyx_self, __pyx_v_self, __pyx_v_source_desc);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_78commented_file_contents(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_source_desc) {
  PyObject *__pyx_v_source_file = NULL;
  PyObject *__pyx_v_F = NULL;
  PyObject *__pyx_9genexpr16__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  PyObject *(*__pyx_t_10)(PyObject *);
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("commented_file_contents", 0);

  /* "Cython/Compiler/Code.py":2473
 * 
 *     def commented_file_contents(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             return self.input_file_contents[source_desc]
 *         except KeyError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":2474
 *     def commented_file_contents(self, source_desc):
 *         try:
 *             return self.input_file_contents[source_desc]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             pass
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_input_file_contents); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2474, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_source_desc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2474, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      goto __pyx_L7_try_return;

      /* "Cython/Compiler/Code.py":2473
 * 
 *     def commented_file_contents(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             return self.input_file_contents[source_desc]
 *         except KeyError:
*/
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":2475
 *         try:
 *             return self.input_file_contents[source_desc]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             pass
 *         source_file = source_desc.get_lines(encoding='ASCII', error_handling='ignore')
*/
    __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_KeyError))));
    if (__pyx_t_6) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "Cython/Compiler/Code.py":2473
 * 
 *     def commented_file_contents(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             return self.input_file_contents[source_desc]
 *         except KeyError:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
  }

  /* "Cython/Compiler/Code.py":2477
 *         except KeyError:
 *             pass
 *         source_file = source_desc.get_lines(encoding='ASCII', error_handling='ignore')             # <<<<<<<<<<<<<<
 *         F = [' * ' + (
 *                 line.replace(
*/
  __pyx_t_4 = __pyx_v_source_desc;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_4, NULL};
    __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_encoding, __pyx_mstate_global->__pyx_n_u_ASCII, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 2477, __pyx_L1_error)
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_error_handling, __pyx_mstate_global->__pyx_n_u_ignore, __pyx_t_8, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 2477, __pyx_L1_error)
    __pyx_t_5 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_get_lines, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_v_source_file = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2478
 *             pass
 *         source_file = source_desc.get_lines(encoding='ASCII', error_handling='ignore')
 *         F = [' * ' + (             # <<<<<<<<<<<<<<
 *                 line.replace(
 *                     '*[inserted by cython to avoid comment closer]/', '*[inserted by cython to avoid comment closer]/'
*/
  { /* enter inner scope */
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2478, __pyx_L13_error)
    __Pyx_GOTREF(__pyx_t_5);

    /* "Cython/Compiler/Code.py":2484
 *                     '/[inserted by cython to avoid comment start]*', '/[inserted by cython to avoid comment start]*'
 *                 ) if '/' in line else line)
 *             for line in source_file             # <<<<<<<<<<<<<<
 *         ]
 *         if not F: F.append('')
*/
    if (likely(PyList_CheckExact(__pyx_v_source_file)) || PyTuple_CheckExact(__pyx_v_source_file)) {
      __pyx_t_8 = __pyx_v_source_file; __Pyx_INCREF(__pyx_t_8);
      __pyx_t_9 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_source_file); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2484, __pyx_L13_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2484, __pyx_L13_error)
    }
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_8))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2484, __pyx_L13_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_9, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2484, __pyx_L13_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2484, __pyx_L13_error)
      } else {
        __pyx_t_4 = __pyx_t_10(__pyx_t_8);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 2484, __pyx_L13_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_9genexpr16__pyx_v_line, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":2483
 *                 ).replace(
 *                     '/[inserted by cython to avoid comment start]*', '/[inserted by cython to avoid comment start]*'
 *                 ) if '/' in line else line)             # <<<<<<<<<<<<<<
 *             for line in source_file
 *         ]
*/
      __pyx_t_11 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u__10, __pyx_9genexpr16__pyx_v_line, Py_EQ)); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 2483, __pyx_L13_error)
      if (__pyx_t_11) {

        /* "Cython/Compiler/Code.py":2479
 *         source_file = source_desc.get_lines(encoding='ASCII', error_handling='ignore')
 *         F = [' * ' + (
 *                 line.replace(             # <<<<<<<<<<<<<<
 *                     '*[inserted by cython to avoid comment closer]/', '*[inserted by cython to avoid comment closer]/'
 *                 ).replace(
*/
        __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr16__pyx_v_line, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2479, __pyx_L13_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_mstate_global->__pyx_tuple[17], NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2479, __pyx_L13_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

        /* "Cython/Compiler/Code.py":2481
 *                 line.replace(
 *                     '*[inserted by cython to avoid comment closer]/', '*[inserted by cython to avoid comment closer]/'
 *                 ).replace(             # <<<<<<<<<<<<<<
 *                     '/[inserted by cython to avoid comment start]*', '/[inserted by cython to avoid comment start]*'
 *                 ) if '/' in line else line)
*/
        __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2481, __pyx_L13_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_mstate_global->__pyx_tuple[18], NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2481, __pyx_L13_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __pyx_t_4 = __pyx_t_13;
        __pyx_t_13 = 0;
      } else {

        /* "Cython/Compiler/Code.py":2483
 *                 ).replace(
 *                     '/[inserted by cython to avoid comment start]*', '/[inserted by cython to avoid comment start]*'
 *                 ) if '/' in line else line)             # <<<<<<<<<<<<<<
 *             for line in source_file
 *         ]
*/
        __Pyx_INCREF(__pyx_9genexpr16__pyx_v_line);
        __pyx_t_4 = __pyx_9genexpr16__pyx_v_line;
      }

      /* "Cython/Compiler/Code.py":2478
 *             pass
 *         source_file = source_desc.get_lines(encoding='ASCII', error_handling='ignore')
 *         F = [' * ' + (             # <<<<<<<<<<<<<<
 *                 line.replace(
 *                     '*[inserted by cython to avoid comment closer]/', '*[inserted by cython to avoid comment closer]/'
*/
      __pyx_t_13 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__61, __pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2478, __pyx_L13_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_13))) __PYX_ERR(0, 2478, __pyx_L13_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

      /* "Cython/Compiler/Code.py":2484
 *                     '/[inserted by cython to avoid comment start]*', '/[inserted by cython to avoid comment start]*'
 *                 ) if '/' in line else line)
 *             for line in source_file             # <<<<<<<<<<<<<<
 *         ]
 *         if not F: F.append('')
*/
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line); __pyx_9genexpr16__pyx_v_line = 0;
    goto __pyx_L17_exit_scope;
    __pyx_L13_error:;
    __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line); __pyx_9genexpr16__pyx_v_line = 0;
    goto __pyx_L1_error;
    __pyx_L17_exit_scope:;
  } /* exit inner scope */
  __pyx_v_F = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2486
 *             for line in source_file
 *         ]
 *         if not F: F.append('')             # <<<<<<<<<<<<<<
 *         self.input_file_contents[source_desc] = F
 *         return F
*/
  {
    Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_F);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2486, __pyx_L1_error)
    __pyx_t_11 = (__pyx_temp != 0);
  }

  __pyx_t_14 = (!__pyx_t_11);
  if (__pyx_t_14) {
    __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_F, __pyx_mstate_global->__pyx_kp_u__9); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 2486, __pyx_L1_error)
  }

  /* "Cython/Compiler/Code.py":2487
 *         ]
 *         if not F: F.append('')
 *         self.input_file_contents[source_desc] = F             # <<<<<<<<<<<<<<
 *         return F
 * 
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_input_file_contents); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (unlikely((PyObject_SetItem(__pyx_t_5, __pyx_v_source_desc, __pyx_v_F) < 0))) __PYX_ERR(0, 2487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2488
 *         if not F: F.append('')
 *         self.input_file_contents[source_desc] = F
 *         return F             # <<<<<<<<<<<<<<
 * 
 *     #
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_F);
  __pyx_r = __pyx_v_F;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2472
 *         return index
 * 
 *     def commented_file_contents(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             return self.input_file_contents[source_desc]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.commented_file_contents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_source_file);
  __Pyx_XDECREF(__pyx_v_F);
  __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2494
 *     #
 * 
 *     def use_utility_code(self, utility_code, used_by=None):             # <<<<<<<<<<<<<<
 *         """
 *         Adds code to the C file. utility_code should
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_81use_utility_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11GlobalState_80use_utility_code, "\n        Adds code to the C file. utility_code should\n        a) implement __eq__/__hash__ for the purpose of knowing whether the same\n           code has already been included\n        b) implement put_code, which takes a globalstate instance\n\n        See UtilityCode.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_81use_utility_code = {"use_utility_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_81use_utility_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11GlobalState_80use_utility_code};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_81use_utility_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_utility_code = 0;
  PyObject *__pyx_v_used_by = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_utility_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_utility_code,&__pyx_mstate_global->__pyx_n_u_used_by,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2494, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2494, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2494, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2494, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "use_utility_code", 0) < (0)) __PYX_ERR(0, 2494, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("use_utility_code", 0, 2, 3, i); __PYX_ERR(0, 2494, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2494, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2494, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2494, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_self = values[0];
    __pyx_v_utility_code = values[1];
    __pyx_v_used_by = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("use_utility_code", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2494, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.use_utility_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_80use_utility_code(__pyx_self, __pyx_v_self, __pyx_v_utility_code, __pyx_v_used_by);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_80use_utility_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_utility_code, PyObject *__pyx_v_used_by) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("use_utility_code", 0);

  /* "Cython/Compiler/Code.py":2503
 *         See UtilityCode.
 *         """
 *         if utility_code and utility_code not in self.utility_codes:             # <<<<<<<<<<<<<<
 *             self.utility_codes.add(utility_code)
 *             utility_code.put_code(self, used_by=used_by)
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_utility_code); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2503, __pyx_L1_error)
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_utility_codes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_utility_code, __pyx_t_3, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2504
 *         """
 *         if utility_code and utility_code not in self.utility_codes:
 *             self.utility_codes.add(utility_code)             # <<<<<<<<<<<<<<
 *             utility_code.put_code(self, used_by=used_by)
 * 
*/
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_utility_codes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __pyx_t_5;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_utility_code};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2505
 *         if utility_code and utility_code not in self.utility_codes:
 *             self.utility_codes.add(utility_code)
 *             utility_code.put_code(self, used_by=used_by)             # <<<<<<<<<<<<<<
 * 
 *     def use_entry_utility_code(self, entry):
*/
    __pyx_t_5 = __pyx_v_utility_code;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_v_self};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2505, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_used_by, __pyx_v_used_by, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2505, __pyx_L1_error)
      __pyx_t_3 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2505, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2503
 *         See UtilityCode.
 *         """
 *         if utility_code and utility_code not in self.utility_codes:             # <<<<<<<<<<<<<<
 *             self.utility_codes.add(utility_code)
 *             utility_code.put_code(self, used_by=used_by)
*/
  }

  /* "Cython/Compiler/Code.py":2494
 *     #
 * 
 *     def use_utility_code(self, utility_code, used_by=None):             # <<<<<<<<<<<<<<
 *         """
 *         Adds code to the C file. utility_code should
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.use_utility_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2507
 *             utility_code.put_code(self, used_by=used_by)
 * 
 *     def use_entry_utility_code(self, entry):             # <<<<<<<<<<<<<<
 *         if entry is None:
 *             return
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_83use_entry_utility_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_83use_entry_utility_code = {"use_entry_utility_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_83use_entry_utility_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_83use_entry_utility_code(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_entry_utility_code (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_entry,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2507, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2507, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2507, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "use_entry_utility_code", 0) < (0)) __PYX_ERR(0, 2507, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("use_entry_utility_code", 1, 2, 2, i); __PYX_ERR(0, 2507, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2507, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2507, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("use_entry_utility_code", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2507, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.use_entry_utility_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_82use_entry_utility_code(__pyx_self, __pyx_v_self, __pyx_v_entry);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_82use_entry_utility_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
  PyObject *__pyx_v_PyrexTypes = NULL;
  PyObject *__pyx_v_tp = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("use_entry_utility_code", 0);

  /* "Cython/Compiler/Code.py":2508
 * 
 *     def use_entry_utility_code(self, entry):
 *         if entry is None:             # <<<<<<<<<<<<<<
 *             return
 *         if entry.utility_code:
*/
  __pyx_t_1 = (__pyx_v_entry == Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2509
 *     def use_entry_utility_code(self, entry):
 *         if entry is None:
 *             return             # <<<<<<<<<<<<<<
 *         if entry.utility_code:
 *             self.use_utility_code(entry.utility_code)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2508
 * 
 *     def use_entry_utility_code(self, entry):
 *         if entry is None:             # <<<<<<<<<<<<<<
 *             return
 *         if entry.utility_code:
*/
  }

  /* "Cython/Compiler/Code.py":2510
 *         if entry is None:
 *             return
 *         if entry.utility_code:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_utility_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2511
 *             return
 *         if entry.utility_code:
 *             self.use_utility_code(entry.utility_code)             # <<<<<<<<<<<<<<
 *         if entry.utility_code_definition:
 *             self.use_utility_code(entry.utility_code_definition)
*/
    __pyx_t_3 = __pyx_v_self;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_utility_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2511, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2510
 *         if entry is None:
 *             return
 *         if entry.utility_code:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:
*/
  }

  /* "Cython/Compiler/Code.py":2512
 *         if entry.utility_code:
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(entry.utility_code_definition)
 *         from . import PyrexTypes
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_utility_code_definition); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2512, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2513
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:
 *             self.use_utility_code(entry.utility_code_definition)             # <<<<<<<<<<<<<<
 *         from . import PyrexTypes
 *         for tp in PyrexTypes.get_all_subtypes(entry.type):
*/
    __pyx_t_4 = __pyx_v_self;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_utility_code_definition); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2513, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2512
 *         if entry.utility_code:
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(entry.utility_code_definition)
 *         from . import PyrexTypes
*/
  }

  /* "Cython/Compiler/Code.py":2514
 *         if entry.utility_code_definition:
 *             self.use_utility_code(entry.utility_code_definition)
 *         from . import PyrexTypes             # <<<<<<<<<<<<<<
 *         for tp in PyrexTypes.get_all_subtypes(entry.type):
 *             if hasattr(tp, "entry") and tp.entry is not entry:
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_PyrexTypes};
    __pyx_t_6 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2514, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_6;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_PyrexTypes};
    __pyx_t_7 = 0; {
      __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_7]); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2514, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      switch (__pyx_t_7) {
        case 0:
        __Pyx_INCREF(__pyx_t_3);
        __pyx_v_PyrexTypes = __pyx_t_3;
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2515
 *             self.use_utility_code(entry.utility_code_definition)
 *         from . import PyrexTypes
 *         for tp in PyrexTypes.get_all_subtypes(entry.type):             # <<<<<<<<<<<<<<
 *             if hasattr(tp, "entry") and tp.entry is not entry:
 *                 self.use_entry_utility_code(tp.entry)
*/
  __pyx_t_3 = __pyx_v_PyrexTypes;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_all_subtypes, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2515, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2515, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2515, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2515, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_8(__pyx_t_4);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 2515, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_tp, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2516
 *         from . import PyrexTypes
 *         for tp in PyrexTypes.get_all_subtypes(entry.type):
 *             if hasattr(tp, "entry") and tp.entry is not entry:             # <<<<<<<<<<<<<<
 *                 self.use_entry_utility_code(tp.entry)
 * 
*/
    __pyx_t_9 = __Pyx_HasAttr(__pyx_v_tp, __pyx_mstate_global->__pyx_n_u_entry); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 2516, __pyx_L1_error)
    if (__pyx_t_9) {
    } else {
      __pyx_t_1 = __pyx_t_9;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_tp, __pyx_mstate_global->__pyx_n_u_entry); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = (__pyx_t_2 != __pyx_v_entry);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __pyx_t_9;
    __pyx_L9_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2517
 *         for tp in PyrexTypes.get_all_subtypes(entry.type):
 *             if hasattr(tp, "entry") and tp.entry is not entry:
 *                 self.use_entry_utility_code(tp.entry)             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __pyx_t_3 = __pyx_v_self;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_tp, __pyx_mstate_global->__pyx_n_u_entry); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_entry_utility_code, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2517, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":2516
 *         from . import PyrexTypes
 *         for tp in PyrexTypes.get_all_subtypes(entry.type):
 *             if hasattr(tp, "entry") and tp.entry is not entry:             # <<<<<<<<<<<<<<
 *                 self.use_entry_utility_code(tp.entry)
 * 
*/
    }

    /* "Cython/Compiler/Code.py":2515
 *             self.use_utility_code(entry.utility_code_definition)
 *         from . import PyrexTypes
 *         for tp in PyrexTypes.get_all_subtypes(entry.type):             # <<<<<<<<<<<<<<
 *             if hasattr(tp, "entry") and tp.entry is not entry:
 *                 self.use_entry_utility_code(tp.entry)
*/
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2507
 *             utility_code.put_code(self, used_by=used_by)
 * 
 *     def use_entry_utility_code(self, entry):             # <<<<<<<<<<<<<<
 *         if entry is None:
 *             return
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.use_entry_utility_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_PyrexTypes);
  __Pyx_XDECREF(__pyx_v_tp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2520
 * 
 * 
 * def funccontext_property(func):             # <<<<<<<<<<<<<<
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_23funccontext_property(PyObject *__pyx_self, PyObject *__pyx_v_func); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_23funccontext_property = {"funccontext_property", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_23funccontext_property, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_23funccontext_property(PyObject *__pyx_self, PyObject *__pyx_v_func) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("funccontext_property (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_22funccontext_property(__pyx_self, ((PyObject *)__pyx_v_func));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2523
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):             # <<<<<<<<<<<<<<
 *         return attribute_of(self.funcstate)
 *     def set(self, value):
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_1get(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20funccontext_property_1get = {"get", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_1get, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_1get(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_20funccontext_property_get(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20funccontext_property_get(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *__pyx_outer_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "Cython/Compiler/Code.py":2524
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
 *         return attribute_of(self.funcstate)             # <<<<<<<<<<<<<<
 *     def set(self, value):
 *         setattr(self.funcstate, name, value)
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  if (unlikely(!__pyx_cur_scope->__pyx_v_attribute_of)) { __Pyx_RaiseClosureNameError("attribute_of"); __PYX_ERR(0, 2524, __pyx_L1_error) }
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_attribute_of);
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_attribute_of; 
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_funcstate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2523
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):             # <<<<<<<<<<<<<<
 *         return attribute_of(self.funcstate)
 *     def set(self, value):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.funccontext_property.get", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2525
 *     def get(self):
 *         return attribute_of(self.funcstate)
 *     def set(self, value):             # <<<<<<<<<<<<<<
 *         setattr(self.funcstate, name, value)
 *     return property(get, set)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_3set(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20funccontext_property_3set = {"set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_3set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_3set(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2525, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "set", 0) < (0)) __PYX_ERR(0, 2525, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, i); __PYX_ERR(0, 2525, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2525, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2525, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2525, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.funccontext_property.set", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_20funccontext_property_2set(__pyx_self, __pyx_v_self, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20funccontext_property_2set(PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *__pyx_outer_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "Cython/Compiler/Code.py":2526
 *         return attribute_of(self.funcstate)
 *     def set(self, value):
 *         setattr(self.funcstate, name, value)             # <<<<<<<<<<<<<<
 *     return property(get, set)
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely(!__pyx_cur_scope->__pyx_v_name)) { __Pyx_RaiseClosureNameError("name"); __PYX_ERR(0, 2526, __pyx_L1_error) }
  __pyx_t_2 = __pyx_cur_scope->__pyx_v_name;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = PyObject_SetAttr(__pyx_t_1, __pyx_t_2, __pyx_v_value); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2525
 *     def get(self):
 *         return attribute_of(self.funcstate)
 *     def set(self, value):             # <<<<<<<<<<<<<<
 *         setattr(self.funcstate, name, value)
 *     return property(get, set)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.funccontext_property.set", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2520
 * 
 * 
 * def funccontext_property(func):             # <<<<<<<<<<<<<<
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
*/

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_22funccontext_property(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *__pyx_cur_scope;
  PyObject *__pyx_v_get = 0;
  PyObject *__pyx_v_set = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("funccontext_property", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2520, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }

  /* "Cython/Compiler/Code.py":2521
 * 
 * def funccontext_property(func):
 *     name = func.__name__             # <<<<<<<<<<<<<<
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_func, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_name = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2522
 * def funccontext_property(func):
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)             # <<<<<<<<<<<<<<
 *     def get(self):
 *         return attribute_of(self.funcstate)
*/
  __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_operator;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_attrgetter, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_attribute_of = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2523
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):             # <<<<<<<<<<<<<<
 *         return attribute_of(self.funcstate)
 *     def set(self, value):
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_20funccontext_property_1get, 0, __pyx_mstate_global->__pyx_n_u_funccontext_property_locals_get, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[11])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_get = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2525
 *     def get(self):
 *         return attribute_of(self.funcstate)
 *     def set(self, value):             # <<<<<<<<<<<<<<
 *         setattr(self.funcstate, name, value)
 *     return property(get, set)
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_20funccontext_property_3set, 0, __pyx_mstate_global->__pyx_n_u_funccontext_property_locals_set, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[12])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_set = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2527
 *     def set(self, value):
 *         setattr(self.funcstate, name, value)
 *     return property(get, set)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_get, __pyx_v_set};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2520
 * 
 * 
 * def funccontext_property(func):             # <<<<<<<<<<<<<<
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.funccontext_property", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_get);
  __Pyx_XDECREF(__pyx_v_set);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2535
 *     # c_line_in_traceback boolean         append the c file and line number to the traceback for exceptions?
 * 
 *     def __init__(self, emit_linenums=True, emit_code_comments=True, c_line_in_traceback=True):             # <<<<<<<<<<<<<<
 *         self.emit_code_comments = emit_code_comments
 *         self.emit_linenums = emit_linenums
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeConfig_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeConfig_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeConfig_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeConfig_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_emit_linenums = 0;
  PyObject *__pyx_v_emit_code_comments = 0;
  PyObject *__pyx_v_c_line_in_traceback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_emit_linenums,&__pyx_mstate_global->__pyx_n_u_emit_code_comments,&__pyx_mstate_global->__pyx_n_u_c_line_in_traceback,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2535, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 2535, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, i); __PYX_ERR(0, 2535, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2535, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_True)));
    }
    __pyx_v_self = values[0];
    __pyx_v_emit_linenums = values[1];
    __pyx_v_emit_code_comments = values[2];
    __pyx_v_c_line_in_traceback = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 2535, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeConfig.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeConfig___init__(__pyx_self, __pyx_v_self, __pyx_v_emit_linenums, __pyx_v_emit_code_comments, __pyx_v_c_line_in_traceback);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeConfig___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_emit_linenums, PyObject *__pyx_v_emit_code_comments, PyObject *__pyx_v_c_line_in_traceback) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":2536
 * 
 *     def __init__(self, emit_linenums=True, emit_code_comments=True, c_line_in_traceback=True):
 *         self.emit_code_comments = emit_code_comments             # <<<<<<<<<<<<<<
 *         self.emit_linenums = emit_linenums
 *         self.c_line_in_traceback = c_line_in_traceback
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_emit_code_comments, __pyx_v_emit_code_comments) < (0)) __PYX_ERR(0, 2536, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2537
 *     def __init__(self, emit_linenums=True, emit_code_comments=True, c_line_in_traceback=True):
 *         self.emit_code_comments = emit_code_comments
 *         self.emit_linenums = emit_linenums             # <<<<<<<<<<<<<<
 *         self.c_line_in_traceback = c_line_in_traceback
 * 
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_emit_linenums, __pyx_v_emit_linenums) < (0)) __PYX_ERR(0, 2537, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2538
 *         self.emit_code_comments = emit_code_comments
 *         self.emit_linenums = emit_linenums
 *         self.c_line_in_traceback = c_line_in_traceback             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_c_line_in_traceback, __pyx_v_c_line_in_traceback) < (0)) __PYX_ERR(0, 2538, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2535
 *     # c_line_in_traceback boolean         append the c file and line number to the traceback for exceptions?
 * 
 *     def __init__(self, emit_linenums=True, emit_code_comments=True, c_line_in_traceback=True):             # <<<<<<<<<<<<<<
 *         self.emit_code_comments = emit_code_comments
 *         self.emit_linenums = emit_linenums
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeConfig.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2572
 *     # code_config         CCodeConfig     configuration options for the C code writer
 * 
 *     @cython.locals(create_from='CCodeWriter')             # <<<<<<<<<<<<<<
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):
 *         if buffer is None: buffer = StringIOTree()
*/

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_create_from = 0;
  PyObject *__pyx_v_buffer = 0;
  PyObject *__pyx_v_copy_formatting = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_create_from,&__pyx_mstate_global->__pyx_n_u_buffer,&__pyx_mstate_global->__pyx_n_u_copy_formatting,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2572, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 2572, __pyx_L3_error)

      /* "Cython/Compiler/Code.py":2573
 * 
 *     @cython.locals(create_from='CCodeWriter')
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):             # <<<<<<<<<<<<<<
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer
*/
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_create_from = ((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)values[0]);
    __pyx_v_buffer = values[1];
    __pyx_v_copy_formatting = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, __pyx_nargs); __PYX_ERR(0, 2572, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_create_from), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, 1, "create_from", 0))) __PYX_ERR(0, 2573, __pyx_L1_error)
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_create_from, __pyx_v_buffer, __pyx_v_copy_formatting);

  /* "Cython/Compiler/Code.py":2572
 *     # code_config         CCodeConfig     configuration options for the C code writer
 * 
 *     @cython.locals(create_from='CCodeWriter')             # <<<<<<<<<<<<<<
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):
 *         if buffer is None: buffer = StringIOTree()
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter___init__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_create_from, PyObject *__pyx_v_buffer, PyObject *__pyx_v_copy_formatting) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_INCREF(__pyx_v_buffer);

  /* "Cython/Compiler/Code.py":2574
 *     @cython.locals(create_from='CCodeWriter')
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):
 *         if buffer is None: buffer = StringIOTree()             # <<<<<<<<<<<<<<
 *         self.buffer = buffer
 *         self.last_pos = None
*/
  __pyx_t_1 = (__pyx_v_buffer == Py_None);
  if (__pyx_t_1) {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_12StringIOTree_StringIOTree, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2574, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __Pyx_DECREF_SET(__pyx_v_buffer, ((PyObject *)__pyx_t_2));
    __pyx_t_2 = 0;
  }

  /* "Cython/Compiler/Code.py":2575
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer             # <<<<<<<<<<<<<<
 *         self.last_pos = None
 *         self.last_marked_pos = None
*/
  __pyx_t_2 = __pyx_v_buffer;
  __Pyx_INCREF(__pyx_t_2);
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_6Cython_12StringIOTree_StringIOTree))))) __PYX_ERR(0, 2575, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->buffer);
  __Pyx_DECREF((PyObject *)__pyx_v_self->buffer);
  __pyx_v_self->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2576
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer
 *         self.last_pos = None             # <<<<<<<<<<<<<<
 *         self.last_marked_pos = None
 *         self.pyclass_stack = []
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->last_pos);
  __Pyx_DECREF(__pyx_v_self->last_pos);
  __pyx_v_self->last_pos = ((PyObject*)Py_None);

  /* "Cython/Compiler/Code.py":2577
 *         self.buffer = buffer
 *         self.last_pos = None
 *         self.last_marked_pos = None             # <<<<<<<<<<<<<<
 *         self.pyclass_stack = []
 * 
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->last_marked_pos);
  __Pyx_DECREF(__pyx_v_self->last_marked_pos);
  __pyx_v_self->last_marked_pos = ((PyObject*)Py_None);

  /* "Cython/Compiler/Code.py":2578
 *         self.last_pos = None
 *         self.last_marked_pos = None
 *         self.pyclass_stack = []             # <<<<<<<<<<<<<<
 * 
 *         self.funcstate = None
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->pyclass_stack);
  __Pyx_DECREF(__pyx_v_self->pyclass_stack);
  __pyx_v_self->pyclass_stack = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2580
 *         self.pyclass_stack = []
 * 
 *         self.funcstate = None             # <<<<<<<<<<<<<<
 *         self.globalstate = None
 *         self.code_config = None
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->funcstate);
  __Pyx_DECREF((PyObject *)__pyx_v_self->funcstate);
  __pyx_v_self->funcstate = ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)Py_None);

  /* "Cython/Compiler/Code.py":2581
 * 
 *         self.funcstate = None
 *         self.globalstate = None             # <<<<<<<<<<<<<<
 *         self.code_config = None
 *         self.level = 0
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->globalstate);
  __Pyx_DECREF(__pyx_v_self->globalstate);
  __pyx_v_self->globalstate = Py_None;

  /* "Cython/Compiler/Code.py":2582
 *         self.funcstate = None
 *         self.globalstate = None
 *         self.code_config = None             # <<<<<<<<<<<<<<
 *         self.level = 0
 *         self.call_level = 0
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->code_config);
  __Pyx_DECREF(__pyx_v_self->code_config);
  __pyx_v_self->code_config = Py_None;

  /* "Cython/Compiler/Code.py":2583
 *         self.globalstate = None
 *         self.code_config = None
 *         self.level = 0             # <<<<<<<<<<<<<<
 *         self.call_level = 0
 *         self.bol = 1
*/
  __pyx_v_self->level = 0;

  /* "Cython/Compiler/Code.py":2584
 *         self.code_config = None
 *         self.level = 0
 *         self.call_level = 0             # <<<<<<<<<<<<<<
 *         self.bol = 1
 * 
*/
  __pyx_v_self->call_level = 0;

  /* "Cython/Compiler/Code.py":2585
 *         self.level = 0
 *         self.call_level = 0
 *         self.bol = 1             # <<<<<<<<<<<<<<
 * 
 *         if create_from is not None:
*/
  __pyx_v_self->bol = 1;

  /* "Cython/Compiler/Code.py":2587
 *         self.bol = 1
 * 
 *         if create_from is not None:             # <<<<<<<<<<<<<<
 *             # Use same global state
 *             self.set_global_state(create_from.globalstate)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_create_from) != Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2589
 *         if create_from is not None:
 *             # Use same global state
 *             self.set_global_state(create_from.globalstate)             # <<<<<<<<<<<<<<
 *             self.funcstate = create_from.funcstate
 *             # Clone formatting state
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_create_from->globalstate};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_set_global_state, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2589, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2590
 *             # Use same global state
 *             self.set_global_state(create_from.globalstate)
 *             self.funcstate = create_from.funcstate             # <<<<<<<<<<<<<<
 *             # Clone formatting state
 *             if copy_formatting:
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_create_from->funcstate);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->funcstate);
    __Pyx_DECREF((PyObject *)__pyx_v_self->funcstate);
    __pyx_v_self->funcstate = ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2592
 *             self.funcstate = create_from.funcstate
 *             # Clone formatting state
 *             if copy_formatting:             # <<<<<<<<<<<<<<
 *                 self.level = create_from.level
 *                 self.bol = create_from.bol
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_copy_formatting); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2592, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2593
 *             # Clone formatting state
 *             if copy_formatting:
 *                 self.level = create_from.level             # <<<<<<<<<<<<<<
 *                 self.bol = create_from.bol
 *                 self.call_level = create_from.call_level
*/
      __pyx_t_5 = __pyx_v_create_from->level;
      __pyx_v_self->level = __pyx_t_5;

      /* "Cython/Compiler/Code.py":2594
 *             if copy_formatting:
 *                 self.level = create_from.level
 *                 self.bol = create_from.bol             # <<<<<<<<<<<<<<
 *                 self.call_level = create_from.call_level
 *             self.last_pos = create_from.last_pos
*/
      __pyx_t_1 = __pyx_v_create_from->bol;
      __pyx_v_self->bol = __pyx_t_1;

      /* "Cython/Compiler/Code.py":2595
 *                 self.level = create_from.level
 *                 self.bol = create_from.bol
 *                 self.call_level = create_from.call_level             # <<<<<<<<<<<<<<
 *             self.last_pos = create_from.last_pos
 *             self.last_marked_pos = create_from.last_marked_pos
*/
      __pyx_t_5 = __pyx_v_create_from->call_level;
      __pyx_v_self->call_level = __pyx_t_5;

      /* "Cython/Compiler/Code.py":2592
 *             self.funcstate = create_from.funcstate
 *             # Clone formatting state
 *             if copy_formatting:             # <<<<<<<<<<<<<<
 *                 self.level = create_from.level
 *                 self.bol = create_from.bol
*/
    }

    /* "Cython/Compiler/Code.py":2596
 *                 self.bol = create_from.bol
 *                 self.call_level = create_from.call_level
 *             self.last_pos = create_from.last_pos             # <<<<<<<<<<<<<<
 *             self.last_marked_pos = create_from.last_marked_pos
 * 
*/
    __pyx_t_2 = __pyx_v_create_from->last_pos;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_v_self->last_pos);
    __Pyx_DECREF(__pyx_v_self->last_pos);
    __pyx_v_self->last_pos = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2597
 *                 self.call_level = create_from.call_level
 *             self.last_pos = create_from.last_pos
 *             self.last_marked_pos = create_from.last_marked_pos             # <<<<<<<<<<<<<<
 * 
 *     def create_new(self, create_from, buffer, copy_formatting):
*/
    __pyx_t_2 = __pyx_v_create_from->last_marked_pos;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_v_self->last_marked_pos);
    __Pyx_DECREF(__pyx_v_self->last_marked_pos);
    __pyx_v_self->last_marked_pos = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2587
 *         self.bol = 1
 * 
 *         if create_from is not None:             # <<<<<<<<<<<<<<
 *             # Use same global state
 *             self.set_global_state(create_from.globalstate)
*/
  }

  /* "Cython/Compiler/Code.py":2572
 *     # code_config         CCodeConfig     configuration options for the C code writer
 * 
 *     @cython.locals(create_from='CCodeWriter')             # <<<<<<<<<<<<<<
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):
 *         if buffer is None: buffer = StringIOTree()
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_buffer);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2599
 *             self.last_marked_pos = create_from.last_marked_pos
 * 
 *     def create_new(self, create_from, buffer, copy_formatting):             # <<<<<<<<<<<<<<
 *         # polymorphic constructor -- very slightly more versatile
 *         # than using __class__
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_3create_new(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_3create_new = {"create_new", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_3create_new, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_3create_new(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_create_from = 0;
  PyObject *__pyx_v_buffer = 0;
  PyObject *__pyx_v_copy_formatting = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_new (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_create_from,&__pyx_mstate_global->__pyx_n_u_buffer,&__pyx_mstate_global->__pyx_n_u_copy_formatting,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2599, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "create_new", 0) < (0)) __PYX_ERR(0, 2599, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("create_new", 1, 3, 3, i); __PYX_ERR(0, 2599, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2599, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2599, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2599, __pyx_L3_error)
    }
    __pyx_v_create_from = values[0];
    __pyx_v_buffer = values[1];
    __pyx_v_copy_formatting = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_new", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 2599, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.create_new", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_2create_new(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_create_from, __pyx_v_buffer, __pyx_v_copy_formatting);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_2create_new(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_create_from, PyObject *__pyx_v_buffer, PyObject *__pyx_v_copy_formatting) {
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create_new", 0);

  /* "Cython/Compiler/Code.py":2602
 *         # polymorphic constructor -- very slightly more versatile
 *         # than using __class__
 *         result = CCodeWriter(create_from, buffer, copy_formatting)             # <<<<<<<<<<<<<<
 *         return result
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_v_create_from, __pyx_v_buffer, __pyx_v_copy_formatting};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_callargs+__pyx_t_3, (4-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2602, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_result = ((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2603
 *         # than using __class__
 *         result = CCodeWriter(create_from, buffer, copy_formatting)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def set_global_state(self, global_state):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = ((PyObject *)__pyx_v_result);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2599
 *             self.last_marked_pos = create_from.last_marked_pos
 * 
 *     def create_new(self, create_from, buffer, copy_formatting):             # <<<<<<<<<<<<<<
 *         # polymorphic constructor -- very slightly more versatile
 *         # than using __class__
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.create_new", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2605
 *         return result
 * 
 *     def set_global_state(self, global_state):             # <<<<<<<<<<<<<<
 *         assert self.globalstate is None  # prevent overwriting once it's set
 *         self.globalstate = global_state
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state(PyObject *__pyx_v_self, PyObject *__pyx_v_global_state); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state = {"set_global_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state(PyObject *__pyx_v_self, PyObject *__pyx_v_global_state) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_global_state (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_4set_global_state(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_global_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_4set_global_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_global_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_global_state", 0);

  /* "Cython/Compiler/Code.py":2606
 * 
 *     def set_global_state(self, global_state):
 *         assert self.globalstate is None  # prevent overwriting once it's set             # <<<<<<<<<<<<<<
 *         self.globalstate = global_state
 *         self.code_config = global_state.code_config
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_self->globalstate == Py_None);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(0, 2606, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 2606, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":2607
 *     def set_global_state(self, global_state):
 *         assert self.globalstate is None  # prevent overwriting once it's set
 *         self.globalstate = global_state             # <<<<<<<<<<<<<<
 *         self.code_config = global_state.code_config
 * 
*/
  __Pyx_INCREF(__pyx_v_global_state);
  __Pyx_GIVEREF(__pyx_v_global_state);
  __Pyx_GOTREF(__pyx_v_self->globalstate);
  __Pyx_DECREF(__pyx_v_self->globalstate);
  __pyx_v_self->globalstate = __pyx_v_global_state;

  /* "Cython/Compiler/Code.py":2608
 *         assert self.globalstate is None  # prevent overwriting once it's set
 *         self.globalstate = global_state
 *         self.code_config = global_state.code_config             # <<<<<<<<<<<<<<
 * 
 *     def copyto(self, f):
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_global_state, __pyx_mstate_global->__pyx_n_u_code_config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->code_config);
  __Pyx_DECREF(__pyx_v_self->code_config);
  __pyx_v_self->code_config = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2605
 *         return result
 * 
 *     def set_global_state(self, global_state):             # <<<<<<<<<<<<<<
 *         assert self.globalstate is None  # prevent overwriting once it's set
 *         self.globalstate = global_state
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_global_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2610
 *         self.code_config = global_state.code_config
 * 
 *     def copyto(self, f):             # <<<<<<<<<<<<<<
 *         self.buffer.copyto(f)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_7copyto(PyObject *__pyx_v_self, PyObject *__pyx_v_f); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_7copyto = {"copyto", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_7copyto, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_7copyto(PyObject *__pyx_v_self, PyObject *__pyx_v_f) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copyto (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6copyto(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_f));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6copyto(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_f) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copyto", 0);

  /* "Cython/Compiler/Code.py":2611
 * 
 *     def copyto(self, f):
 *         self.buffer.copyto(f)             # <<<<<<<<<<<<<<
 * 
 *     def getvalue(self):
*/
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree *)__pyx_v_self->buffer->__pyx_vtab)->copyto(__pyx_v_self->buffer, __pyx_v_f, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2610
 *         self.code_config = global_state.code_config
 * 
 *     def copyto(self, f):             # <<<<<<<<<<<<<<
 *         self.buffer.copyto(f)
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.copyto", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2613
 *         self.buffer.copyto(f)
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.getvalue()
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue = {"getvalue", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getvalue (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_8getvalue(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_8getvalue(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getvalue", 0);

  /* "Cython/Compiler/Code.py":2614
 * 
 *     def getvalue(self):
 *         return self.buffer.getvalue()             # <<<<<<<<<<<<<<
 * 
 *     def write(self, s):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree *)__pyx_v_self->buffer->__pyx_vtab)->getvalue(__pyx_v_self->buffer, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2613
 *         self.buffer.copyto(f)
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.getvalue()
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.getvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2616
 *         return self.buffer.getvalue()
 * 
 *     def write(self, s):             # <<<<<<<<<<<<<<
 *         if '\n' in s:
 *             self._write_lines(s)
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write(PyObject *__pyx_v_self, PyObject *__pyx_v_s); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_write(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("write", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2616, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write)) {
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_s};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2616, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "Cython/Compiler/Code.py":2617
 * 
 *     def write(self, s):
 *         if '\n' in s:             # <<<<<<<<<<<<<<
 *             self._write_lines(s)
 *         else:
*/
  __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u__3, __pyx_v_s, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 2617, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":2618
 *     def write(self, s):
 *         if '\n' in s:
 *             self._write_lines(s)             # <<<<<<<<<<<<<<
 *         else:
 *             self._write_to_buffer(s)
*/
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(__pyx_v_self, __pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2617
 * 
 *     def write(self, s):
 *         if '\n' in s:             # <<<<<<<<<<<<<<
 *             self._write_lines(s)
 *         else:
*/
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":2620
 *             self._write_lines(s)
 *         else:
 *             self._write_to_buffer(s)             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
  /*else*/ {
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->_write_to_buffer(__pyx_v_self, __pyx_v_s, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":2616
 *         return self.buffer.getvalue()
 * 
 *     def write(self, s):             # <<<<<<<<<<<<<<
 *         if '\n' in s:
 *             self._write_lines(s)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write(PyObject *__pyx_v_self, PyObject *__pyx_v_s); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_11write = {"write", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write(PyObject *__pyx_v_self, PyObject *__pyx_v_s) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10write(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_s));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10write(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("write", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_write(__pyx_v_self, __pyx_v_s, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2622
 *             self._write_to_buffer(s)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _write_lines(self, s):
 *         # Cygdb needs to know which Cython source line corresponds to which C line.
*/

static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_v_filename_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_write_lines", 0);

  /* "Cython/Compiler/Code.py":2627
 *         # Therefore, we write this information into "self.buffer.markers" and then write it from there
 *         # into cython_debug/cython_debug_info_* (see ModuleNode._serialize_lineno_map).
 *         filename_line = self.last_marked_pos[:2] if self.last_marked_pos else (None, 0)             # <<<<<<<<<<<<<<
 *         self.buffer.markers.extend([filename_line] * s.count('\n'))
 * 
*/
  if (__pyx_v_self->last_marked_pos == Py_None) __pyx_t_2 = 0;
  else
  {
    Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_v_self->last_marked_pos);
    if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2627, __pyx_L1_error)
    __pyx_t_2 = (__pyx_temp != 0);
  }

  if (__pyx_t_2) {
    if (unlikely(__pyx_v_self->last_marked_pos == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 2627, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyTuple_GetSlice(__pyx_v_self->last_marked_pos, 0, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_tuple[19]);
    __pyx_t_1 = __pyx_mstate_global->__pyx_tuple[19];
  }
  __pyx_v_filename_line = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2628
 *         # into cython_debug/cython_debug_info_* (see ModuleNode._serialize_lineno_map).
 *         filename_line = self.last_marked_pos[:2] if self.last_marked_pos else (None, 0)
 *         self.buffer.markers.extend([filename_line] * s.count('\n'))             # <<<<<<<<<<<<<<
 * 
 *         self._write_to_buffer(s)
*/
  if (unlikely(__pyx_v_self->buffer->markers == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "extend");
    __PYX_ERR(0, 2628, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_v_s;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_count, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_filename_line);
  __Pyx_GIVEREF(__pyx_v_filename_line);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_v_filename_line) != (0)) __PYX_ERR(0, 2628, __pyx_L1_error);
  { PyObject* __pyx_temp = PyNumber_InPlaceMultiply(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_temp)) __PYX_ERR(0, 2628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_temp);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_temp;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __Pyx_PyList_Extend(__pyx_v_self->buffer->markers, __pyx_t_3); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 2628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":2630
 *         self.buffer.markers.extend([filename_line] * s.count('\n'))
 * 
 *         self._write_to_buffer(s)             # <<<<<<<<<<<<<<
 * 
 *     def _write_to_buffer(self, s):
*/
  __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->_write_to_buffer(__pyx_v_self, __pyx_v_s, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":2622
 *             self._write_to_buffer(s)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _write_lines(self, s):
 *         # Cygdb needs to know which Cython source line corresponds to which C line.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter._write_lines", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_filename_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2632
 *         self._write_to_buffer(s)
 * 
 *     def _write_to_buffer(self, s):             # <<<<<<<<<<<<<<
 *         self.buffer.write(s)
 * 
*/

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13_write_to_buffer(PyObject *__pyx_v_self, PyObject *__pyx_v_s); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_to_buffer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_write_to_buffer", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_write_to_buffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13_write_to_buffer)) {
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_s};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2632, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "Cython/Compiler/Code.py":2633
 * 
 *     def _write_to_buffer(self, s):
 *         self.buffer.write(s)             # <<<<<<<<<<<<<<
 * 
 *     def insertion_point(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_INCREF(__pyx_v_self->buffer->write);
  __pyx_t_4 = __pyx_v_self->buffer->write; 
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_s};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2632
 *         self._write_to_buffer(s)
 * 
 *     def _write_to_buffer(self, s):             # <<<<<<<<<<<<<<
 *         self.buffer.write(s)
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter._write_to_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13_write_to_buffer(PyObject *__pyx_v_self, PyObject *__pyx_v_s); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_13_write_to_buffer = {"_write_to_buffer", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13_write_to_buffer, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13_write_to_buffer(PyObject *__pyx_v_self, PyObject *__pyx_v_s) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_write_to_buffer (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_12_write_to_buffer(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_s));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_12_write_to_buffer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_write_to_buffer", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_to_buffer(__pyx_v_self, __pyx_v_s, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter._write_to_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2635
 *         self.buffer.write(s)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         other = self.create_new(create_from=self, buffer=self.buffer.insertion_point(), copy_formatting=True)
 *         return other
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_15insertion_point(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_15insertion_point = {"insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_15insertion_point, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_15insertion_point(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("insertion_point (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_14insertion_point(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_14insertion_point(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_v_other = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("insertion_point", 0);

  /* "Cython/Compiler/Code.py":2636
 * 
 *     def insertion_point(self):
 *         other = self.create_new(create_from=self, buffer=self.buffer.insertion_point(), copy_formatting=True)             # <<<<<<<<<<<<<<
 *         return other
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = ((PyObject *)__pyx_v_self->buffer);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_insertion_point, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 3 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_create_from, ((PyObject *)__pyx_v_self), __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 2636, __pyx_L1_error)
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_buffer, __pyx_t_3, __pyx_t_4, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 2636, __pyx_L1_error)
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_copy_formatting, Py_True, __pyx_t_4, __pyx_callargs+1, 2) < (0)) __PYX_ERR(0, 2636, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_create_new, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_other = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2637
 *     def insertion_point(self):
 *         other = self.create_new(create_from=self, buffer=self.buffer.insertion_point(), copy_formatting=True)
 *         return other             # <<<<<<<<<<<<<<
 * 
 *     def new_writer(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_other);
  __pyx_r = __pyx_v_other;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2635
 *         self.buffer.write(s)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         other = self.create_new(create_from=self, buffer=self.buffer.insertion_point(), copy_formatting=True)
 *         return other
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.insertion_point", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_other);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2639
 *         return other
 * 
 *     def new_writer(self):             # <<<<<<<<<<<<<<
 *         """
 *         Creates a new CCodeWriter connected to the same global state, which
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_17new_writer(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_16new_writer, "\n        Creates a new CCodeWriter connected to the same global state, which\n        can later be inserted using insert.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_17new_writer = {"new_writer", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_17new_writer, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_16new_writer};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_17new_writer(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_writer (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_16new_writer(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_16new_writer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_writer", 0);

  /* "Cython/Compiler/Code.py":2644
 *         can later be inserted using insert.
 *         """
 *         return CCodeWriter(create_from=self)             # <<<<<<<<<<<<<<
 * 
 *     def insert(self, writer):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_create_from, ((PyObject *)__pyx_v_self), __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 2644, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2644, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_r = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2639
 *         return other
 * 
 *     def new_writer(self):             # <<<<<<<<<<<<<<
 *         """
 *         Creates a new CCodeWriter connected to the same global state, which
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.new_writer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2646
 *         return CCodeWriter(create_from=self)
 * 
 *     def insert(self, writer):             # <<<<<<<<<<<<<<
 *         """
 *         Inserts the contents of another code writer (created with
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_19insert(PyObject *__pyx_v_self, PyObject *__pyx_v_writer); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_18insert, "\n        Inserts the contents of another code writer (created with\n        the same global state) in the current location.\n\n        It is ok to write to the inserted writer also after insertion.\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_19insert = {"insert", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_19insert, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_18insert};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_19insert(PyObject *__pyx_v_self, PyObject *__pyx_v_writer) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("insert (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_18insert(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_writer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_18insert(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_writer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("insert", 0);

  /* "Cython/Compiler/Code.py":2653
 *         It is ok to write to the inserted writer also after insertion.
 *         """
 *         assert writer.globalstate is self.globalstate             # <<<<<<<<<<<<<<
 *         self.buffer.insert(writer.buffer)
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_mstate_global->__pyx_n_u_globalstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = (__pyx_t_1 == __pyx_v_self->globalstate);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(0, 2653, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(0, 2653, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":2654
 *         """
 *         assert writer.globalstate is self.globalstate
 *         self.buffer.insert(writer.buffer)             # <<<<<<<<<<<<<<
 * 
 *     # Properties delegated to function scope
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_self->buffer);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_mstate_global->__pyx_n_u_buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_insert, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2646
 *         return CCodeWriter(create_from=self)
 * 
 *     def insert(self, writer):             # <<<<<<<<<<<<<<
 *         """
 *         Inserts the contents of another code writer (created with
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2657
 * 
 *     # Properties delegated to function scope
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def label_counter(self): pass
 *     @funccontext_property
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_21label_counter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_21label_counter = {"label_counter", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_21label_counter, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_21label_counter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_counter (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_20label_counter(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_20label_counter(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_counter", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2659
 *     @funccontext_property
 *     def label_counter(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def return_label(self): pass
 *     @funccontext_property
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_23return_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_23return_label = {"return_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_23return_label, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_23return_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("return_label (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_22return_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_22return_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("return_label", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2661
 *     @funccontext_property
 *     def return_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def error_label(self): pass
 *     @funccontext_property
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_25error_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_25error_label = {"error_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_25error_label, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_25error_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("error_label (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_24error_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_24error_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("error_label", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2663
 *     @funccontext_property
 *     def error_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def labels_used(self): pass
 *     @funccontext_property
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_27labels_used(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_27labels_used = {"labels_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_27labels_used, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_27labels_used(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("labels_used (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_26labels_used(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_26labels_used(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("labels_used", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2665
 *     @funccontext_property
 *     def labels_used(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def continue_label(self): pass
 *     @funccontext_property
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_29continue_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_29continue_label = {"continue_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_29continue_label, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_29continue_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("continue_label (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_28continue_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_28continue_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("continue_label", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2667
 *     @funccontext_property
 *     def continue_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def break_label(self): pass
 *     @funccontext_property
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_31break_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_31break_label = {"break_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_31break_label, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_31break_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("break_label (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_30break_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_30break_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("break_label", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2669
 *     @funccontext_property
 *     def break_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def return_from_error_cleanup_label(self): pass
 *     @funccontext_property
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_33return_from_error_cleanup_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_33return_from_error_cleanup_label = {"return_from_error_cleanup_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_33return_from_error_cleanup_label, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_33return_from_error_cleanup_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("return_from_error_cleanup_label (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_32return_from_error_cleanup_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_32return_from_error_cleanup_label(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("return_from_error_cleanup_label", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2671
 *     @funccontext_property
 *     def return_from_error_cleanup_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def yield_labels(self): pass
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_35yield_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_35yield_labels = {"yield_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_35yield_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_35yield_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("yield_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_34yield_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_34yield_labels(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("yield_labels", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_6Cython_8Compiler_4Code_11CCodeWriter_38generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "Cython/Compiler/Code.py":2674
 *     def yield_labels(self): pass
 * 
 *     def label_interceptor(self, new_labels, orig_labels, skip_to_label=None, pos=None, trace=True):             # <<<<<<<<<<<<<<
 *         """
 *         Helper for generating multiple label interceptor code blocks.
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_37label_interceptor(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_36label_interceptor, "\n        Helper for generating multiple label interceptor code blocks.\n\n        @param new_labels: the new labels that should be intercepted\n        @param orig_labels: the original labels that we should dispatch to after the interception\n        @param skip_to_label: a label to skip to before starting the code blocks\n        @param pos: the node position to mark for each interceptor block\n        @param trace: add a trace line for the pos marker or not\n        ");
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_37label_interceptor = {"label_interceptor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_37label_interceptor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_36label_interceptor};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_37label_interceptor(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_new_labels = 0;
  PyObject *__pyx_v_orig_labels = 0;
  PyObject *__pyx_v_skip_to_label = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_trace = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_interceptor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_new_labels,&__pyx_mstate_global->__pyx_n_u_orig_labels,&__pyx_mstate_global->__pyx_n_u_skip_to_label,&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_trace,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2674, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "label_interceptor", 0) < (0)) __PYX_ERR(0, 2674, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("label_interceptor", 0, 2, 5, i); __PYX_ERR(0, 2674, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2674, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2674, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_new_labels = values[0];
    __pyx_v_orig_labels = values[1];
    __pyx_v_skip_to_label = values[2];
    __pyx_v_pos = values[3];
    __pyx_v_trace = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("label_interceptor", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 2674, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.label_interceptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_36label_interceptor(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_new_labels, __pyx_v_orig_labels, __pyx_v_skip_to_label, __pyx_v_pos, __pyx_v_trace);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_36label_interceptor(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_new_labels, PyObject *__pyx_v_orig_labels, PyObject *__pyx_v_skip_to_label, PyObject *__pyx_v_pos, PyObject *__pyx_v_trace) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("label_interceptor", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2674, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __pyx_cur_scope->__pyx_v_new_labels = __pyx_v_new_labels;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_new_labels);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_new_labels);
  __pyx_cur_scope->__pyx_v_orig_labels = __pyx_v_orig_labels;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_orig_labels);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_orig_labels);
  __pyx_cur_scope->__pyx_v_skip_to_label = __pyx_v_skip_to_label;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_skip_to_label);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_skip_to_label);
  __pyx_cur_scope->__pyx_v_pos = __pyx_v_pos;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pos);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pos);
  __pyx_cur_scope->__pyx_v_trace = __pyx_v_trace;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trace);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trace);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6Cython_8Compiler_4Code_11CCodeWriter_38generator, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[13]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_label_interceptor, __pyx_mstate_global->__pyx_n_u_CCodeWriter_label_interceptor, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code); if (unlikely(!gen)) __PYX_ERR(0, 2674, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.label_interceptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_6Cython_8Compiler_4Code_11CCodeWriter_38generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *__pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_interceptor", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L11_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(0, 2674, __pyx_L1_error)
  }

  /* "Cython/Compiler/Code.py":2684
 *         @param trace: add a trace line for the pos marker or not
 *         """
 *         for label, orig_label in zip(new_labels, orig_labels):             # <<<<<<<<<<<<<<
 *             if not self.label_used(label):
 *                 continue
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_new_labels, __pyx_cur_scope->__pyx_v_orig_labels};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2684, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2684, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_4;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 2684, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4);
        #endif
        ++__pyx_t_4;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2684, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_5(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 2684, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2684, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_7);
      } else {
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2684, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2684, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_7);
      }
      #else
      __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2684, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2684, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2684, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
      index = 0; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L6_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < (0)) __PYX_ERR(0, 2684, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L7_unpacking_done;
      __pyx_L6_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 2684, __pyx_L1_error)
      __pyx_L7_unpacking_done:;
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_label);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_label, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_orig_label);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_orig_label, __pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":2685
 *         """
 *         for label, orig_label in zip(new_labels, orig_labels):
 *             if not self.label_used(label):             # <<<<<<<<<<<<<<
 *                 continue
 *             if skip_to_label:
*/
    __pyx_t_7 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_cur_scope->__pyx_v_label};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_label_used, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2685, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 2685, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_11 = (!__pyx_t_10);
    if (__pyx_t_11) {

      /* "Cython/Compiler/Code.py":2686
 *         for label, orig_label in zip(new_labels, orig_labels):
 *             if not self.label_used(label):
 *                 continue             # <<<<<<<<<<<<<<
 *             if skip_to_label:
 *                 # jump over the whole interception block
*/
      goto __pyx_L4_continue;

      /* "Cython/Compiler/Code.py":2685
 *         """
 *         for label, orig_label in zip(new_labels, orig_labels):
 *             if not self.label_used(label):             # <<<<<<<<<<<<<<
 *                 continue
 *             if skip_to_label:
*/
    }

    /* "Cython/Compiler/Code.py":2687
 *             if not self.label_used(label):
 *                 continue
 *             if skip_to_label:             # <<<<<<<<<<<<<<
 *                 # jump over the whole interception block
 *                 self.put_goto(skip_to_label)
*/
    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_skip_to_label); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 2687, __pyx_L1_error)
    if (__pyx_t_11) {

      /* "Cython/Compiler/Code.py":2689
 *             if skip_to_label:
 *                 # jump over the whole interception block
 *                 self.put_goto(skip_to_label)             # <<<<<<<<<<<<<<
 *                 skip_to_label = None
 * 
*/
      __pyx_t_7 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_cur_scope->__pyx_v_skip_to_label};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_goto, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2689, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2690
 *                 # jump over the whole interception block
 *                 self.put_goto(skip_to_label)
 *                 skip_to_label = None             # <<<<<<<<<<<<<<
 * 
 *             if pos is not None:
*/
      __Pyx_INCREF(Py_None);
      __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_skip_to_label);
      __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_skip_to_label, Py_None);
      __Pyx_GIVEREF(Py_None);

      /* "Cython/Compiler/Code.py":2687
 *             if not self.label_used(label):
 *                 continue
 *             if skip_to_label:             # <<<<<<<<<<<<<<
 *                 # jump over the whole interception block
 *                 self.put_goto(skip_to_label)
*/
    }

    /* "Cython/Compiler/Code.py":2692
 *                 skip_to_label = None
 * 
 *             if pos is not None:             # <<<<<<<<<<<<<<
 *                 self.mark_pos(pos, trace=trace)
 *             self.put_label(label)
*/
    __pyx_t_11 = (__pyx_cur_scope->__pyx_v_pos != Py_None);
    if (__pyx_t_11) {

      /* "Cython/Compiler/Code.py":2693
 * 
 *             if pos is not None:
 *                 self.mark_pos(pos, trace=trace)             # <<<<<<<<<<<<<<
 *             self.put_label(label)
 *             yield (label, orig_label)
*/
      __pyx_t_7 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, __pyx_cur_scope->__pyx_v_pos};
        __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2693, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_trace, __pyx_cur_scope->__pyx_v_trace, __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2693, __pyx_L1_error)
        __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_mark_pos, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2693, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2692
 *                 skip_to_label = None
 * 
 *             if pos is not None:             # <<<<<<<<<<<<<<
 *                 self.mark_pos(pos, trace=trace)
 *             self.put_label(label)
*/
    }

    /* "Cython/Compiler/Code.py":2694
 *             if pos is not None:
 *                 self.mark_pos(pos, trace=trace)
 *             self.put_label(label)             # <<<<<<<<<<<<<<
 *             yield (label, orig_label)
 *             self.put_goto(orig_label)
*/
    __pyx_t_6 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_label};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_label, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2694, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2695
 *                 self.mark_pos(pos, trace=trace)
 *             self.put_label(label)
 *             yield (label, orig_label)             # <<<<<<<<<<<<<<
 *             self.put_goto(orig_label)
 * 
*/
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2695, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_label);
    __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_label);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_v_label) != (0)) __PYX_ERR(0, 2695, __pyx_L1_error);
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_orig_label);
    __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_orig_label);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_cur_scope->__pyx_v_orig_label) != (0)) __PYX_ERR(0, 2695, __pyx_L1_error);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    __Pyx_XGIVEREF(__pyx_t_2);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_4;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_5;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L11_resume_from_yield:;
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_5 = __pyx_cur_scope->__pyx_t_2;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 2695, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":2696
 *             self.put_label(label)
 *             yield (label, orig_label)
 *             self.put_goto(orig_label)             # <<<<<<<<<<<<<<
 * 
 *     # Functions delegated to function scope
*/
    __pyx_t_6 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_orig_label};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_goto, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2696, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2684
 *         @param trace: add a trace line for the pos marker or not
 *         """
 *         for label, orig_label in zip(new_labels, orig_labels):             # <<<<<<<<<<<<<<
 *             if not self.label_used(label):
 *                 continue
*/
    __pyx_L4_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* "Cython/Compiler/Code.py":2674
 *     def yield_labels(self): pass
 * 
 *     def label_interceptor(self, new_labels, orig_labels, skip_to_label=None, pos=None, trace=True):             # <<<<<<<<<<<<<<
 *         """
 *         Helper for generating multiple label interceptor code blocks.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("label_interceptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2699
 * 
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)             # <<<<<<<<<<<<<<
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_40new_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_40new_label = {"new_label", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_40new_label, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_40new_label(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_label (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2699, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2699, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "new_label", 0) < (0)) __PYX_ERR(0, 2699, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2699, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_label", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 2699, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.new_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_39new_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_39new_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.name = __pyx_v_name;
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(__pyx_v_self->funcstate, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.new_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2700
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)             # <<<<<<<<<<<<<<
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_42new_error_label(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_42new_error_label = {"new_error_label", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_42new_error_label, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_42new_error_label(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_error_label (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("new_error_label", __pyx_kwds); return NULL;}
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_41new_error_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_41new_error_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_args) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_error_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->funcstate), __pyx_mstate_global->__pyx_n_u_new_error_label); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.new_error_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2701
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)             # <<<<<<<<<<<<<<
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_44new_yield_label(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_44new_yield_label = {"new_yield_label", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_44new_yield_label, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_44new_yield_label(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_yield_label (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("new_yield_label", __pyx_kwds); return NULL;}
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_43new_yield_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_43new_yield_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_args) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_yield_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->funcstate), __pyx_mstate_global->__pyx_n_u_new_yield_label); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.new_yield_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2702
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()             # <<<<<<<<<<<<<<
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_46get_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_46get_loop_labels = {"get_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_46get_loop_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_46get_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_loop_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_45get_loop_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_45get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_loop_labels(__pyx_v_self->funcstate, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2703
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)             # <<<<<<<<<<<<<<
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_48set_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_48set_loop_labels = {"set_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_48set_loop_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_48set_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_loop_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_47set_loop_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_labels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_47set_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_labels) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_loop_labels(__pyx_v_self->funcstate, __pyx_v_labels, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2704
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)             # <<<<<<<<<<<<<<
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_50new_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_50new_loop_labels = {"new_loop_labels", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_50new_loop_labels, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_50new_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_loop_labels (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("new_loop_labels", __pyx_kwds); return NULL;}
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_49new_loop_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_49new_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_args) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("new_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->funcstate), __pyx_mstate_global->__pyx_n_u_new_loop_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.new_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2705
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()             # <<<<<<<<<<<<<<
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_52get_all_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_52get_all_labels = {"get_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_52get_all_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_52get_all_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_all_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_51get_all_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_51get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_all_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_all_labels(__pyx_v_self->funcstate, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_all_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2706
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)             # <<<<<<<<<<<<<<
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_54set_all_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_54set_all_labels = {"set_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_54set_all_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_54set_all_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_all_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_53set_all_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_labels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_53set_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_labels) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_all_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_all_labels(__pyx_v_self->funcstate, __pyx_v_labels, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_all_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2707
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()             # <<<<<<<<<<<<<<
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)
 *     def label_used(self, lbl):         return self.funcstate.label_used(lbl)
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_56all_new_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_56all_new_labels = {"all_new_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_56all_new_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_56all_new_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_new_labels (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_55all_new_labels(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_55all_new_labels(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("all_new_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self->funcstate);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_all_new_labels, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.all_new_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2708
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)             # <<<<<<<<<<<<<<
 *     def label_used(self, lbl):         return self.funcstate.label_used(lbl)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_58use_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_58use_label = {"use_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_58use_label, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_58use_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_label (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_57use_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_lbl));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_57use_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("use_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self->funcstate);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_lbl};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_label, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.use_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2709
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)
 *     def label_used(self, lbl):         return self.funcstate.label_used(lbl)             # <<<<<<<<<<<<<<
 * 
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_60label_used(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_60label_used = {"label_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_60label_used, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_60label_used(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_used (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_59label_used(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_lbl));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_59label_used(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("label_used", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self->funcstate);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_lbl};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_label_used, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.label_used", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2712
 * 
 * 
 *     def enter_cfunc_scope(self, scope):             # <<<<<<<<<<<<<<
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_62enter_cfunc_scope(PyObject *__pyx_v_self, PyObject *__pyx_v_scope); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_62enter_cfunc_scope = {"enter_cfunc_scope", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_62enter_cfunc_scope, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_62enter_cfunc_scope(PyObject *__pyx_v_self, PyObject *__pyx_v_scope) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enter_cfunc_scope (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_61enter_cfunc_scope(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_scope));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_61enter_cfunc_scope(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_scope) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enter_cfunc_scope", 0);

  /* "Cython/Compiler/Code.py":2713
 * 
 *     def enter_cfunc_scope(self, scope):
 *         self.funcstate = FunctionState(self, scope=scope)             # <<<<<<<<<<<<<<
 * 
 *     def exit_cfunc_scope(self):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self)};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_scope, __pyx_v_scope, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2713, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2713, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->funcstate);
  __Pyx_DECREF((PyObject *)__pyx_v_self->funcstate);
  __pyx_v_self->funcstate = ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2712
 * 
 * 
 *     def enter_cfunc_scope(self, scope):             # <<<<<<<<<<<<<<
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.enter_cfunc_scope", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2715
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 *     def exit_cfunc_scope(self):             # <<<<<<<<<<<<<<
 *         if self.funcstate is None:
 *             return
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_64exit_cfunc_scope(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_64exit_cfunc_scope = {"exit_cfunc_scope", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_64exit_cfunc_scope, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_64exit_cfunc_scope(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("exit_cfunc_scope (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_63exit_cfunc_scope(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_63exit_cfunc_scope(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("exit_cfunc_scope", 0);

  /* "Cython/Compiler/Code.py":2716
 * 
 *     def exit_cfunc_scope(self):
 *         if self.funcstate is None:             # <<<<<<<<<<<<<<
 *             return
 *         self.funcstate.validate_exit()
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_self->funcstate) == Py_None);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2717
 *     def exit_cfunc_scope(self):
 *         if self.funcstate is None:
 *             return             # <<<<<<<<<<<<<<
 *         self.funcstate.validate_exit()
 *         self.funcstate = None
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2716
 * 
 *     def exit_cfunc_scope(self):
 *         if self.funcstate is None:             # <<<<<<<<<<<<<<
 *             return
 *         self.funcstate.validate_exit()
*/
  }

  /* "Cython/Compiler/Code.py":2718
 *         if self.funcstate is None:
 *             return
 *         self.funcstate.validate_exit()             # <<<<<<<<<<<<<<
 *         self.funcstate = None
 * 
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_self->funcstate);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_validate_exit, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2719
 *             return
 *         self.funcstate.validate_exit()
 *         self.funcstate = None             # <<<<<<<<<<<<<<
 * 
 *     def start_initcfunc(self, signature, scope=None, refnanny=False):
*/
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->funcstate);
  __Pyx_DECREF((PyObject *)__pyx_v_self->funcstate);
  __pyx_v_self->funcstate = ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)Py_None);

  /* "Cython/Compiler/Code.py":2715
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 *     def exit_cfunc_scope(self):             # <<<<<<<<<<<<<<
 *         if self.funcstate is None:
 *             return
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.exit_cfunc_scope", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2721
 *         self.funcstate = None
 * 
 *     def start_initcfunc(self, signature, scope=None, refnanny=False):             # <<<<<<<<<<<<<<
 *         """
 *         Init code helper function to start a cfunc scope and generate
*/

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_66start_initcfunc(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_65start_initcfunc, "\n        Init code helper function to start a cfunc scope and generate\n        the prototype and function header (\"static SIG {\") of the function.\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_66start_initcfunc = {"start_initcfunc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_66start_initcfunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_65start_initcfunc};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_66start_initcfunc(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_signature = 0;
    PyObject *__pyx_v_scope = 0;
    PyObject *__pyx_v_refnanny = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("start_initcfunc (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_signature,&__pyx_mstate_global->__pyx_n_u_scope,&__pyx_mstate_global->__pyx_n_u_refnanny,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2721, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2721, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2721, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2721, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "start_initcfunc", 0) < (0)) __PYX_ERR(0, 2721, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("start_initcfunc", 0, 1, 3, i); __PYX_ERR(0, 2721, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2721, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2721, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2721, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_signature = values[0];
      __pyx_v_scope = values[1];
      __pyx_v_refnanny = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("start_initcfunc", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 2721, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.start_initcfunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_65start_initcfunc(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_signature, __pyx_v_scope, __pyx_v_refnanny);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_65start_initcfunc(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_signature, PyObject *__pyx_v_scope, PyObject *__pyx_v_refnanny) {
    PyObject *__pyx_v_proto = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4[3];
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_7;
    int __pyx_t_8;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("start_initcfunc", 0);

    /* "Cython/Compiler/Code.py":2726
 *         the prototype and function header ("static SIG {") of the function.
 *         """
 *         proto = self.globalstate.parts['initfunc_declarations']             # <<<<<<<<<<<<<<
 *         proto.putln(f"static CYTHON_SMALL_CODE {signature}; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         self.enter_cfunc_scope(scope)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_initfunc_declarations); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_proto = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2727
 *         """
 *         proto = self.globalstate.parts['initfunc_declarations']
 *         proto.putln(f"static CYTHON_SMALL_CODE {signature}; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 *         self.enter_cfunc_scope(scope)
 *         self.putln("")
*/
    __pyx_t_1 = __pyx_v_proto;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_signature, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_static_CYTHON_SMALL_CODE;
    __pyx_t_4[1] = __pyx_t_3;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u_proto_3;
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 25 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 11, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2727, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2728
 *         proto = self.globalstate.parts['initfunc_declarations']
 *         proto.putln(f"static CYTHON_SMALL_CODE {signature}; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         self.enter_cfunc_scope(scope)             # <<<<<<<<<<<<<<
 *         self.putln("")
 *         self.putln(f"static {signature} {{")
*/
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_scope};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_enter_cfunc_scope, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2728, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2729
 *         proto.putln(f"static CYTHON_SMALL_CODE {signature}; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         self.enter_cfunc_scope(scope)
 *         self.putln("")             # <<<<<<<<<<<<<<
 *         self.putln(f"static {signature} {{")
 *         if refnanny:
*/
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_mstate_global->__pyx_kp_u__9;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2730
 *         self.enter_cfunc_scope(scope)
 *         self.putln("")
 *         self.putln(f"static {signature} {{")             # <<<<<<<<<<<<<<
 *         if refnanny:
 *             self.put_declare_refcount_context()
*/
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_signature, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_static;
    __pyx_t_4[1] = __pyx_t_2;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__62;
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 7 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_t_5;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2731
 *         self.putln("")
 *         self.putln(f"static {signature} {{")
 *         if refnanny:             # <<<<<<<<<<<<<<
 *             self.put_declare_refcount_context()
 * 
*/
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_refnanny); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 2731, __pyx_L1_error)
    if (__pyx_t_8) {

      /* "Cython/Compiler/Code.py":2732
 *         self.putln(f"static {signature} {{")
 *         if refnanny:
 *             self.put_declare_refcount_context()             # <<<<<<<<<<<<<<
 * 
 *     def start_slotfunc(self, class_scope, return_type, c_slot_name, args_signature, needs_funcstate=True, needs_prototype=False):
*/
      __pyx_t_5 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_declare_refcount_context, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2732, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":2731
 *         self.putln("")
 *         self.putln(f"static {signature} {{")
 *         if refnanny:             # <<<<<<<<<<<<<<
 *             self.put_declare_refcount_context()
 * 
*/
    }

    /* "Cython/Compiler/Code.py":2721
 *         self.funcstate = None
 * 
 *     def start_initcfunc(self, signature, scope=None, refnanny=False):             # <<<<<<<<<<<<<<
 *         """
 *         Init code helper function to start a cfunc scope and generate
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.start_initcfunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_proto);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2734
 *             self.put_declare_refcount_context()
 * 
 *     def start_slotfunc(self, class_scope, return_type, c_slot_name, args_signature, needs_funcstate=True, needs_prototype=False):             # <<<<<<<<<<<<<<
 *         # Slot functions currently live in the class scope as they don't have direct access to the module state.
 *         slotfunc_cname = class_scope.mangle_internal(c_slot_name)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_68start_slotfunc(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_68start_slotfunc = {"start_slotfunc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_68start_slotfunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_68start_slotfunc(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_class_scope = 0;
    PyObject *__pyx_v_return_type = 0;
    PyObject *__pyx_v_c_slot_name = 0;
    PyObject *__pyx_v_args_signature = 0;
    PyObject *__pyx_v_needs_funcstate = 0;
    PyObject *__pyx_v_needs_prototype = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[6] = {0,0,0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("start_slotfunc (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_class_scope,&__pyx_mstate_global->__pyx_n_u_return_type,&__pyx_mstate_global->__pyx_n_u_c_slot_name,&__pyx_mstate_global->__pyx_n_u_args_signature,&__pyx_mstate_global->__pyx_n_u_needs_funcstate,&__pyx_mstate_global->__pyx_n_u_needs_prototype,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2734, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  6:
          values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "start_slotfunc", 0) < (0)) __PYX_ERR(0, 2734, __pyx_L3_error)
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("start_slotfunc", 0, 4, 6, i); __PYX_ERR(0, 2734, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  6:
          values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 2734, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2734, __pyx_L3_error)
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2734, __pyx_L3_error)
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2734, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2734, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_class_scope = values[0];
      __pyx_v_return_type = values[1];
      __pyx_v_c_slot_name = values[2];
      __pyx_v_args_signature = values[3];
      __pyx_v_needs_funcstate = values[4];
      __pyx_v_needs_prototype = values[5];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("start_slotfunc", 0, 4, 6, __pyx_nargs); __PYX_ERR(0, 2734, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.start_slotfunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_67start_slotfunc(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_class_scope, __pyx_v_return_type, __pyx_v_c_slot_name, __pyx_v_args_signature, __pyx_v_needs_funcstate, __pyx_v_needs_prototype);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_67start_slotfunc(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_class_scope, PyObject *__pyx_v_return_type, PyObject *__pyx_v_c_slot_name, PyObject *__pyx_v_args_signature, PyObject *__pyx_v_needs_funcstate, PyObject *__pyx_v_needs_prototype) {
    PyObject *__pyx_v_slotfunc_cname = NULL;
    PyObject *__pyx_v_declaration = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4[5];
    PyObject *__pyx_t_5 = NULL;
    int __pyx_t_6;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("start_slotfunc", 0);

    /* "Cython/Compiler/Code.py":2736
 *     def start_slotfunc(self, class_scope, return_type, c_slot_name, args_signature, needs_funcstate=True, needs_prototype=False):
 *         # Slot functions currently live in the class scope as they don't have direct access to the module state.
 *         slotfunc_cname = class_scope.mangle_internal(c_slot_name)             # <<<<<<<<<<<<<<
 *         declaration = f"static {return_type.declaration_code(slotfunc_cname)}({args_signature})"
 * 
*/
    __pyx_t_2 = __pyx_v_class_scope;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_c_slot_name};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_mangle_internal, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2736, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_slotfunc_cname = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2737
 *         # Slot functions currently live in the class scope as they don't have direct access to the module state.
 *         slotfunc_cname = class_scope.mangle_internal(c_slot_name)
 *         declaration = f"static {return_type.declaration_code(slotfunc_cname)}({args_signature})"             # <<<<<<<<<<<<<<
 * 
 *         if needs_prototype:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_type, __pyx_mstate_global->__pyx_n_u_declaration_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_slotfunc_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_args_signature, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_static;
    __pyx_t_4[1] = __pyx_t_1;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__15;
    __pyx_t_4[3] = __pyx_t_2;
    __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u__7;
    __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, 7 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_declaration = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":2739
 *         declaration = f"static {return_type.declaration_code(slotfunc_cname)}({args_signature})"
 * 
 *         if needs_prototype:             # <<<<<<<<<<<<<<
 *             self.globalstate['decls'].putln(declaration.replace("CYTHON_UNUSED ", "") + "; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         if needs_funcstate:
*/
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_needs_prototype); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 2739, __pyx_L1_error)
    if (__pyx_t_6) {

      /* "Cython/Compiler/Code.py":2740
 * 
 *         if needs_prototype:
 *             self.globalstate['decls'].putln(declaration.replace("CYTHON_UNUSED ", "") + "; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 *         if needs_funcstate:
 *             self.enter_cfunc_scope(class_scope)
*/
      __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_decls); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __pyx_t_1;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_7 = PyUnicode_Replace(__pyx_v_declaration, __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED, __pyx_mstate_global->__pyx_kp_u__9, -1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_proto_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2740, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2739
 *         declaration = f"static {return_type.declaration_code(slotfunc_cname)}({args_signature})"
 * 
 *         if needs_prototype:             # <<<<<<<<<<<<<<
 *             self.globalstate['decls'].putln(declaration.replace("CYTHON_UNUSED ", "") + "; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         if needs_funcstate:
*/
    }

    /* "Cython/Compiler/Code.py":2741
 *         if needs_prototype:
 *             self.globalstate['decls'].putln(declaration.replace("CYTHON_UNUSED ", "") + "; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         if needs_funcstate:             # <<<<<<<<<<<<<<
 *             self.enter_cfunc_scope(class_scope)
 *         self.putln("")
*/
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_needs_funcstate); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 2741, __pyx_L1_error)
    if (__pyx_t_6) {

      /* "Cython/Compiler/Code.py":2742
 *             self.globalstate['decls'].putln(declaration.replace("CYTHON_UNUSED ", "") + "; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         if needs_funcstate:
 *             self.enter_cfunc_scope(class_scope)             # <<<<<<<<<<<<<<
 *         self.putln("")
 *         self.putln(declaration + " {")
*/
      __pyx_t_1 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_class_scope};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_enter_cfunc_scope, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2741
 *         if needs_prototype:
 *             self.globalstate['decls'].putln(declaration.replace("CYTHON_UNUSED ", "") + "; /[inserted by cython to avoid comment start]*proto*[inserted by cython to avoid comment closer]/")
 *         if needs_funcstate:             # <<<<<<<<<<<<<<
 *             self.enter_cfunc_scope(class_scope)
 *         self.putln("")
*/
    }

    /* "Cython/Compiler/Code.py":2743
 *         if needs_funcstate:
 *             self.enter_cfunc_scope(class_scope)
 *         self.putln("")             # <<<<<<<<<<<<<<
 *         self.putln(declaration + " {")
 * 
*/
    __pyx_t_9.__pyx_n = 1;
    __pyx_t_9.code = __pyx_mstate_global->__pyx_kp_u__9;
    __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":2744
 *             self.enter_cfunc_scope(class_scope)
 *         self.putln("")
 *         self.putln(declaration + " {")             # <<<<<<<<<<<<<<
 * 
 *     # constant handling
*/
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_v_declaration, __pyx_mstate_global->__pyx_kp_u__62); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9.__pyx_n = 1;
    __pyx_t_9.code = __pyx_t_5;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2734
 *             self.put_declare_refcount_context()
 * 
 *     def start_slotfunc(self, class_scope, return_type, c_slot_name, args_signature, needs_funcstate=True, needs_prototype=False):             # <<<<<<<<<<<<<<
 *         # Slot functions currently live in the class scope as they don't have direct access to the module state.
 *         slotfunc_cname = class_scope.mangle_internal(c_slot_name)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.start_slotfunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_slotfunc_cname);
    __Pyx_XDECREF(__pyx_v_declaration);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2748
 *     # constant handling
 * 
 *     def get_py_int(self, str_value, longness):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_int_const(str_value, longness).cname
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_70get_py_int(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_70get_py_int = {"get_py_int", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_70get_py_int, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_70get_py_int(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_str_value = 0;
    PyObject *__pyx_v_longness = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_py_int (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_str_value,&__pyx_mstate_global->__pyx_n_u_longness,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2748, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2748, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2748, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_int", 0) < (0)) __PYX_ERR(0, 2748, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_int", 1, 2, 2, i); __PYX_ERR(0, 2748, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2748, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2748, __pyx_L3_error)
      }
      __pyx_v_str_value = values[0];
      __pyx_v_longness = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("get_py_int", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2748, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_69get_py_int(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_str_value, __pyx_v_longness);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_69get_py_int(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_longness) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_py_int", 0);

    /* "Cython/Compiler/Code.py":2749
 * 
 *     def get_py_int(self, str_value, longness):
 *         return self.name_in_module_state(             # <<<<<<<<<<<<<<
 *             self.globalstate.get_int_const(str_value, longness).cname
 *         )
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":2750
 *     def get_py_int(self, str_value, longness):
 *         return self.name_in_module_state(
 *             self.globalstate.get_int_const(str_value, longness).cname             # <<<<<<<<<<<<<<
 *         )
 * 
*/
    __pyx_t_4 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_str_value, __pyx_v_longness};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_int_const, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2750, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2749, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2748
 *     # constant handling
 * 
 *     def get_py_int(self, str_value, longness):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_int_const(str_value, longness).cname
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2753
 *         )
 * 
 *     def get_py_float(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_float_const(str_value, value_code).cname
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_72get_py_float(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_72get_py_float = {"get_py_float", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_72get_py_float, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_72get_py_float(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_str_value = 0;
    PyObject *__pyx_v_value_code = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_py_float (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_str_value,&__pyx_mstate_global->__pyx_n_u_value_code,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2753, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2753, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2753, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_float", 0) < (0)) __PYX_ERR(0, 2753, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_float", 1, 2, 2, i); __PYX_ERR(0, 2753, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2753, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2753, __pyx_L3_error)
      }
      __pyx_v_str_value = values[0];
      __pyx_v_value_code = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("get_py_float", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2753, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_71get_py_float(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_str_value, __pyx_v_value_code);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_71get_py_float(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_str_value, PyObject *__pyx_v_value_code) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_py_float", 0);

    /* "Cython/Compiler/Code.py":2754
 * 
 *     def get_py_float(self, str_value, value_code):
 *         return self.name_in_module_state(             # <<<<<<<<<<<<<<
 *             self.globalstate.get_float_const(str_value, value_code).cname
 *         )
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":2755
 *     def get_py_float(self, str_value, value_code):
 *         return self.name_in_module_state(
 *             self.globalstate.get_float_const(str_value, value_code).cname             # <<<<<<<<<<<<<<
 *         )
 * 
*/
    __pyx_t_4 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_str_value, __pyx_v_value_code};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_float_const, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2754, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2753
 *         )
 * 
 *     def get_py_float(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_float_const(str_value, value_code).cname
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2758
 *         )
 * 
 *     def get_py_const(self, prefix, dedup_key=None):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_py_const(prefix, dedup_key)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_74get_py_const(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_74get_py_const = {"get_py_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_74get_py_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_74get_py_const(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_prefix = 0;
    PyObject *__pyx_v_dedup_key = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_py_const (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prefix,&__pyx_mstate_global->__pyx_n_u_dedup_key,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2758, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2758, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2758, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_const", 0) < (0)) __PYX_ERR(0, 2758, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 1, 2, i); __PYX_ERR(0, 2758, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2758, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2758, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_prefix = values[0];
      __pyx_v_dedup_key = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2758, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_73get_py_const(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_prefix, __pyx_v_dedup_key);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_73get_py_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_prefix, PyObject *__pyx_v_dedup_key) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_py_const", 0);

    /* "Cython/Compiler/Code.py":2759
 * 
 *     def get_py_const(self, prefix, dedup_key=None):
 *         return self.name_in_module_state(             # <<<<<<<<<<<<<<
 *             self.globalstate.get_py_const(prefix, dedup_key)
 *         )
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":2760
 *     def get_py_const(self, prefix, dedup_key=None):
 *         return self.name_in_module_state(
 *             self.globalstate.get_py_const(prefix, dedup_key)             # <<<<<<<<<<<<<<
 *         )
 * 
*/
    __pyx_t_4 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_prefix, __pyx_v_dedup_key};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_py_const, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2760, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2759, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2758
 *         )
 * 
 *     def get_py_const(self, prefix, dedup_key=None):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_py_const(prefix, dedup_key)
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2763
 *         )
 * 
 *     def get_string_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_string_const(text).cname
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_76get_string_const(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_76get_string_const = {"get_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_76get_string_const, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_76get_string_const(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_string_const (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_75get_string_const(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_text));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_75get_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_string_const", 0);

    /* "Cython/Compiler/Code.py":2764
 * 
 *     def get_string_const(self, text):
 *         return self.globalstate.get_string_const(text).cname             # <<<<<<<<<<<<<<
 * 
 *     def get_pyunicode_ptr_const(self, text):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_string_const, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2763
 *         )
 * 
 *     def get_string_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_string_const(text).cname
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2766
 *         return self.globalstate.get_string_const(text).cname
 * 
 *     def get_pyunicode_ptr_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_78get_pyunicode_ptr_const(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_78get_pyunicode_ptr_const = {"get_pyunicode_ptr_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_78get_pyunicode_ptr_const, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_78get_pyunicode_ptr_const(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_pyunicode_ptr_const (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_77get_pyunicode_ptr_const(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_text));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_77get_pyunicode_ptr_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_pyunicode_ptr_const", 0);

    /* "Cython/Compiler/Code.py":2767
 * 
 *     def get_pyunicode_ptr_const(self, text):
 *         return self.globalstate.get_pyunicode_ptr_const(text)             # <<<<<<<<<<<<<<
 * 
 *     def get_py_string_const(self, text, identifier=None):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_pyunicode_ptr_const, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2767, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2766
 *         return self.globalstate.get_string_const(text).cname
 * 
 *     def get_pyunicode_ptr_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_pyunicode_ptr_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2769
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None):             # <<<<<<<<<<<<<<
 *         cname = self.globalstate.get_py_string_const(
 *             text, identifier).cname
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_80get_py_string_const(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_80get_py_string_const = {"get_py_string_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_80get_py_string_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_80get_py_string_const(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_text = 0;
    PyObject *__pyx_v_identifier = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_py_string_const (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_text,&__pyx_mstate_global->__pyx_n_u_identifier,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2769, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2769, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2769, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_py_string_const", 0) < (0)) __PYX_ERR(0, 2769, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 1, 2, i); __PYX_ERR(0, 2769, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2769, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2769, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_text = values[0];
      __pyx_v_identifier = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2769, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_79get_py_string_const(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_text, __pyx_v_identifier);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_79get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier) {
    PyObject *__pyx_v_cname = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_py_string_const", 0);

    /* "Cython/Compiler/Code.py":2770
 * 
 *     def get_py_string_const(self, text, identifier=None):
 *         cname = self.globalstate.get_py_string_const(             # <<<<<<<<<<<<<<
 *             text, identifier).cname
 *         return self.name_in_module_state(cname)
*/
    __pyx_t_2 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":2771
 *     def get_py_string_const(self, text, identifier=None):
 *         cname = self.globalstate.get_py_string_const(
 *             text, identifier).cname             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(cname)
 * 
*/
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_text, __pyx_v_identifier};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_py_string_const, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2770, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cname = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2772
 *         cname = self.globalstate.get_py_string_const(
 *             text, identifier).cname
 *         return self.name_in_module_state(cname)             # <<<<<<<<<<<<<<
 * 
 *     def get_py_codeobj_const(self, node):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_cname};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2772, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2769
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None):             # <<<<<<<<<<<<<<
 *         cname = self.globalstate.get_py_string_const(
 *             text, identifier).cname
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_cname);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2774
 *         return self.name_in_module_state(cname)
 * 
 *     def get_py_codeobj_const(self, node):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(self.globalstate.get_py_codeobj_const(node))
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_82get_py_codeobj_const(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_82get_py_codeobj_const = {"get_py_codeobj_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_82get_py_codeobj_const, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_82get_py_codeobj_const(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_py_codeobj_const (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_81get_py_codeobj_const(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_node));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_81get_py_codeobj_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_node) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_py_codeobj_const", 0);

    /* "Cython/Compiler/Code.py":2775
 * 
 *     def get_py_codeobj_const(self, node):
 *         return self.name_in_module_state(self.globalstate.get_py_codeobj_const(node))             # <<<<<<<<<<<<<<
 * 
 *     def get_argument_default_const(self, type):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_node};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_py_codeobj_const, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2775, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2775, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2774
 *         return self.name_in_module_state(cname)
 * 
 *     def get_py_codeobj_const(self, node):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(self.globalstate.get_py_codeobj_const(node))
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_codeobj_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2777
 *         return self.name_in_module_state(self.globalstate.get_py_codeobj_const(node))
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(self.globalstate.get_argument_default_const(type).cname)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_84get_argument_default_const(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_84get_argument_default_const = {"get_argument_default_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_84get_argument_default_const, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_84get_argument_default_const(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_argument_default_const (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_83get_argument_default_const(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_type));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_83get_argument_default_const(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_type) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_argument_default_const", 0);

    /* "Cython/Compiler/Code.py":2778
 * 
 *     def get_argument_default_const(self, type):
 *         return self.name_in_module_state(self.globalstate.get_argument_default_const(type).cname)             # <<<<<<<<<<<<<<
 * 
 *     def intern(self, text):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_type};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_argument_default_const, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2778, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2778, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2777
 *         return self.name_in_module_state(self.globalstate.get_py_codeobj_const(node))
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(self.globalstate.get_argument_default_const(type).cname)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_argument_default_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2780
 *         return self.name_in_module_state(self.globalstate.get_argument_default_const(type).cname)
 * 
 *     def intern(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_86intern(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_86intern = {"intern", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_86intern, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_86intern(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("intern (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_85intern(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_text));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_85intern(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("intern", 0);

    /* "Cython/Compiler/Code.py":2781
 * 
 *     def intern(self, text):
 *         return self.get_py_string_const(text)             # <<<<<<<<<<<<<<
 * 
 *     def intern_identifier(self, text):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_py_string_const, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2781, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2780
 *         return self.name_in_module_state(self.globalstate.get_argument_default_const(type).cname)
 * 
 *     def intern(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.intern", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2783
 *         return self.get_py_string_const(text)
 * 
 *     def intern_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_88intern_identifier(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_88intern_identifier = {"intern_identifier", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_88intern_identifier, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_88intern_identifier(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("intern_identifier (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_87intern_identifier(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_text));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_87intern_identifier(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_text) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("intern_identifier", 0);

    /* "Cython/Compiler/Code.py":2784
 * 
 *     def intern_identifier(self, text):
 *         return self.get_py_string_const(text, identifier=True)             # <<<<<<<<<<<<<<
 * 
 *     def get_cached_constants_writer(self, target=None):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2784, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_identifier, Py_True, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2784, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_get_py_string_const, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2784, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2783
 *         return self.get_py_string_const(text)
 * 
 *     def intern_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.intern_identifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2786
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def get_cached_constants_writer(self, target=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_cached_constants_writer(target)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_90get_cached_constants_writer(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_90get_cached_constants_writer = {"get_cached_constants_writer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_90get_cached_constants_writer, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_90get_cached_constants_writer(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_target = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_cached_constants_writer (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_target,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2786, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2786, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "get_cached_constants_writer", 0) < (0)) __PYX_ERR(0, 2786, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2786, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_target = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("get_cached_constants_writer", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 2786, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_cached_constants_writer", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_89get_cached_constants_writer(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_target);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_89get_cached_constants_writer(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_target) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_cached_constants_writer", 0);

    /* "Cython/Compiler/Code.py":2787
 * 
 *     def get_cached_constants_writer(self, target=None):
 *         return self.globalstate.get_cached_constants_writer(target)             # <<<<<<<<<<<<<<
 * 
 *     def name_in_module_state(self, cname):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_target};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_cached_constants_writer, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2787, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2786
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def get_cached_constants_writer(self, target=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_cached_constants_writer(target)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_cached_constants_writer", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2789
 *         return self.globalstate.get_cached_constants_writer(target)
 * 
 *     def name_in_module_state(self, cname):             # <<<<<<<<<<<<<<
 *         if self.funcstate.scope is None:
 *             # This is a mess. For example, within the codeobj generation
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_92name_in_module_state(PyObject *__pyx_v_self, PyObject *__pyx_v_cname); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_92name_in_module_state = {"name_in_module_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_92name_in_module_state, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_92name_in_module_state(PyObject *__pyx_v_self, PyObject *__pyx_v_cname) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("name_in_module_state (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_91name_in_module_state(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_cname));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_91name_in_module_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    size_t __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("name_in_module_state", 0);

    /* "Cython/Compiler/Code.py":2790
 * 
 *     def name_in_module_state(self, cname):
 *         if self.funcstate.scope is None:             # <<<<<<<<<<<<<<
 *             # This is a mess. For example, within the codeobj generation
 *             # funcstate.scope is None while evaluating the strings, but not while
*/
    __pyx_t_1 = (__pyx_v_self->funcstate->scope == Py_None);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2796
 *             # because it all ends up going to the same place, but to actually turn
 *             # it into something useful this mess will need to be fixed.
 *             return self.name_in_main_c_code_module_state(cname)             # <<<<<<<<<<<<<<
 *         return self.funcstate.scope.name_in_module_state(cname)
 * 
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cname};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2796, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":2790
 * 
 *     def name_in_module_state(self, cname):
 *         if self.funcstate.scope is None:             # <<<<<<<<<<<<<<
 *             # This is a mess. For example, within the codeobj generation
 *             # funcstate.scope is None while evaluating the strings, but not while
*/
    }

    /* "Cython/Compiler/Code.py":2797
 *             # it into something useful this mess will need to be fixed.
 *             return self.name_in_main_c_code_module_state(cname)
 *         return self.funcstate.scope.name_in_module_state(cname)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __pyx_v_self->funcstate->scope;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cname};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2797, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2789
 *         return self.globalstate.get_cached_constants_writer(target)
 * 
 *     def name_in_module_state(self, cname):             # <<<<<<<<<<<<<<
 *         if self.funcstate.scope is None:
 *             # This is a mess. For example, within the codeobj generation
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.name_in_module_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2799
 *         return self.funcstate.scope.name_in_module_state(cname)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def name_in_main_c_code_module_state(cname):
 *         # The functions where this applies to have the modulestate passed
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_94name_in_main_c_code_module_state(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_94name_in_main_c_code_module_state = {"name_in_main_c_code_module_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_94name_in_main_c_code_module_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_94name_in_main_c_code_module_state(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("name_in_main_c_code_module_state (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2799, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2799, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "name_in_main_c_code_module_state", 0) < (0)) __PYX_ERR(0, 2799, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("name_in_main_c_code_module_state", 1, 1, 1, i); __PYX_ERR(0, 2799, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2799, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("name_in_main_c_code_module_state", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2799, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.name_in_main_c_code_module_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_93name_in_main_c_code_module_state(__pyx_v_cname);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_93name_in_main_c_code_module_state(PyObject *__pyx_v_cname) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3[3];
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("name_in_main_c_code_module_state", 0);

    /* "Cython/Compiler/Code.py":2804
 *         # as an argument to them and so it's better use that argument than
 *         # to try to get it from a global variable.
 *         return f"{Naming.modulestatevalue_cname}->{cname}"             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestatevalue_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3[0] = __pyx_t_2;
    __pyx_t_3[1] = __pyx_mstate_global->__pyx_kp_u__36;
    __pyx_t_3[2] = __pyx_t_1;
    __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2799
 *         return self.funcstate.scope.name_in_module_state(cname)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def name_in_main_c_code_module_state(cname):
 *         # The functions where this applies to have the modulestate passed
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.name_in_main_c_code_module_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2806
 *         return f"{Naming.modulestatevalue_cname}->{cname}"
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def name_in_slot_module_state(cname):
 *         # TODO - eventually this will go through PyType_GetModuleByDef
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_96name_in_slot_module_state(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_96name_in_slot_module_state = {"name_in_slot_module_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_96name_in_slot_module_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_96name_in_slot_module_state(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("name_in_slot_module_state (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2806, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2806, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "name_in_slot_module_state", 0) < (0)) __PYX_ERR(0, 2806, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("name_in_slot_module_state", 1, 1, 1, i); __PYX_ERR(0, 2806, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2806, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("name_in_slot_module_state", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2806, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.name_in_slot_module_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_95name_in_slot_module_state(__pyx_v_cname);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_95name_in_slot_module_state(PyObject *__pyx_v_cname) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3[3];
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("name_in_slot_module_state", 0);

    /* "Cython/Compiler/Code.py":2810
 *         # TODO - eventually this will go through PyType_GetModuleByDef
 *         # in cases where it's supported.
 *         return f"{Naming.modulestateglobal_cname}->{cname}"             # <<<<<<<<<<<<<<
 * 
 *     def namespace_cname_in_module_state(self, scope):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_modulestateglobal_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3[0] = __pyx_t_2;
    __pyx_t_3[1] = __pyx_mstate_global->__pyx_kp_u__36;
    __pyx_t_3[2] = __pyx_t_1;
    __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2806
 *         return f"{Naming.modulestatevalue_cname}->{cname}"
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def name_in_slot_module_state(cname):
 *         # TODO - eventually this will go through PyType_GetModuleByDef
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.name_in_slot_module_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2812
 *         return f"{Naming.modulestateglobal_cname}->{cname}"
 * 
 *     def namespace_cname_in_module_state(self, scope):             # <<<<<<<<<<<<<<
 *         if scope.is_py_class_scope:
 *             return scope.namespace_cname
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_98namespace_cname_in_module_state(PyObject *__pyx_v_self, PyObject *__pyx_v_scope); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_98namespace_cname_in_module_state = {"namespace_cname_in_module_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_98namespace_cname_in_module_state, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_98namespace_cname_in_module_state(PyObject *__pyx_v_self, PyObject *__pyx_v_scope) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("namespace_cname_in_module_state (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_97namespace_cname_in_module_state(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_scope));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_97namespace_cname_in_module_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_scope) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("namespace_cname_in_module_state", 0);

    /* "Cython/Compiler/Code.py":2813
 * 
 *     def namespace_cname_in_module_state(self, scope):
 *         if scope.is_py_class_scope:             # <<<<<<<<<<<<<<
 *             return scope.namespace_cname
 *         else:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_is_py_class_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2813, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":2814
 *     def namespace_cname_in_module_state(self, scope):
 *         if scope.is_py_class_scope:
 *             return scope.namespace_cname             # <<<<<<<<<<<<<<
 *         else:
 *             return self.name_in_module_state(scope.namespace_cname)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_namespace_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2814, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":2813
 * 
 *     def namespace_cname_in_module_state(self, scope):
 *         if scope.is_py_class_scope:             # <<<<<<<<<<<<<<
 *             return scope.namespace_cname
 *         else:
*/
    }

    /* "Cython/Compiler/Code.py":2816
 *             return scope.namespace_cname
 *         else:
 *             return self.name_in_module_state(scope.namespace_cname)             # <<<<<<<<<<<<<<
 * 
 *     def typeptr_cname_in_module_state(self, type):
*/
    /*else*/ {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_namespace_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2816, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2816, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;
    }

    /* "Cython/Compiler/Code.py":2812
 *         return f"{Naming.modulestateglobal_cname}->{cname}"
 * 
 *     def namespace_cname_in_module_state(self, scope):             # <<<<<<<<<<<<<<
 *         if scope.is_py_class_scope:
 *             return scope.namespace_cname
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.namespace_cname_in_module_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2818
 *             return self.name_in_module_state(scope.namespace_cname)
 * 
 *     def typeptr_cname_in_module_state(self, type):             # <<<<<<<<<<<<<<
 *         if type.is_extension_type:
 *             return self.name_in_module_state(type.typeptr_cname)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_100typeptr_cname_in_module_state(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_100typeptr_cname_in_module_state = {"typeptr_cname_in_module_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_100typeptr_cname_in_module_state, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_100typeptr_cname_in_module_state(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("typeptr_cname_in_module_state (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_99typeptr_cname_in_module_state(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_type));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_99typeptr_cname_in_module_state(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_type) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("typeptr_cname_in_module_state", 0);

    /* "Cython/Compiler/Code.py":2819
 * 
 *     def typeptr_cname_in_module_state(self, type):
 *         if type.is_extension_type:             # <<<<<<<<<<<<<<
 *             return self.name_in_module_state(type.typeptr_cname)
 *         else:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_extension_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2819, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":2820
 *     def typeptr_cname_in_module_state(self, type):
 *         if type.is_extension_type:
 *             return self.name_in_module_state(type.typeptr_cname)             # <<<<<<<<<<<<<<
 *         else:
 *             return type.typeptr_cname
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_typeptr_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2820, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2820, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":2819
 * 
 *     def typeptr_cname_in_module_state(self, type):
 *         if type.is_extension_type:             # <<<<<<<<<<<<<<
 *             return self.name_in_module_state(type.typeptr_cname)
 *         else:
*/
    }

    /* "Cython/Compiler/Code.py":2822
 *             return self.name_in_module_state(type.typeptr_cname)
 *         else:
 *             return type.typeptr_cname             # <<<<<<<<<<<<<<
 * 
 *     # code generation
*/
    /*else*/ {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_typeptr_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2822, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;
    }

    /* "Cython/Compiler/Code.py":2818
 *             return self.name_in_module_state(scope.namespace_cname)
 * 
 *     def typeptr_cname_in_module_state(self, type):             # <<<<<<<<<<<<<<
 *         if type.is_extension_type:
 *             return self.name_in_module_state(type.typeptr_cname)
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.typeptr_cname_in_module_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2826
 *     # code generation
 * 
 *     def putln(self, code="", safe=False):             # <<<<<<<<<<<<<<
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
*/

  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_102putln(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_putln(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln *__pyx_optional_args) {
    PyObject *__pyx_v_code = ((PyObject *)__pyx_mstate_global->__pyx_kp_u__9);
    int __pyx_v_safe = ((int)0);
    PyObject *__pyx_v_source_desc = NULL;
    PyObject *__pyx_v_line = NULL;
    CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    int __pyx_t_7;
    int __pyx_t_8;
    PyObject *__pyx_t_9[5];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("putln", 0);
    if (__pyx_optional_args) {
      if (__pyx_optional_args->__pyx_n > 0) {
        __pyx_v_code = __pyx_optional_args->code;
        if (__pyx_optional_args->__pyx_n > 1) {
          __pyx_v_safe = __pyx_optional_args->safe;
        }
      }
    }
    /* Check if called by wrapper */
    if (unlikely(__pyx_skip_dispatch)) ;
    /* Check if overridden in Python */
    else if (
    #if !CYTHON_USE_TYPE_SLOTS
    unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter &&
    __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
    #else
    unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
    #endif
    ) {
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
        PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
        #endif
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2826, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_102putln)) {
          __Pyx_XDECREF(__pyx_r);
          __pyx_t_3 = NULL;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_4 = __pyx_t_1; 
          __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_safe); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2826, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            assert(__pyx_t_3);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_3);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_code, __pyx_t_5};
            __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2826, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
          }
          __pyx_r = __pyx_t_2;
          __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          goto __pyx_L0;
        }
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
        __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
        if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
          __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        }
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      }
      #endif
    }

    /* "Cython/Compiler/Code.py":2827
 * 
 *     def putln(self, code="", safe=False):
 *         if self.last_pos and self.bol:             # <<<<<<<<<<<<<<
 *             self.emit_marker()
 *         if self.code_config.emit_linenums and self.last_marked_pos:
*/
    if (__pyx_v_self->last_pos == Py_None) __pyx_t_8 = 0;
    else
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_v_self->last_pos);
      if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2827, __pyx_L1_error)
      __pyx_t_8 = (__pyx_temp != 0);
    }

    if (__pyx_t_8) {
    } else {
      __pyx_t_7 = __pyx_t_8;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_7 = __pyx_v_self->bol;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_7) {

      /* "Cython/Compiler/Code.py":2828
 *     def putln(self, code="", safe=False):
 *         if self.last_pos and self.bol:
 *             self.emit_marker()             # <<<<<<<<<<<<<<
 *         if self.code_config.emit_linenums and self.last_marked_pos:
 *             source_desc, line, _ = self.last_marked_pos
*/
      __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_emit_marker(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2827
 * 
 *     def putln(self, code="", safe=False):
 *         if self.last_pos and self.bol:             # <<<<<<<<<<<<<<
 *             self.emit_marker()
 *         if self.code_config.emit_linenums and self.last_marked_pos:
*/
    }

    /* "Cython/Compiler/Code.py":2829
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
 *         if self.code_config.emit_linenums and self.last_marked_pos:             # <<<<<<<<<<<<<<
 *             source_desc, line, _ = self.last_marked_pos
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->code_config, __pyx_mstate_global->__pyx_n_u_emit_linenums); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 2829, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_8) {
    } else {
      __pyx_t_7 = __pyx_t_8;
      goto __pyx_L7_bool_binop_done;
    }
    if (__pyx_v_self->last_marked_pos == Py_None) __pyx_t_8 = 0;
    else
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_v_self->last_marked_pos);
      if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2829, __pyx_L1_error)
      __pyx_t_8 = (__pyx_temp != 0);
    }

    __pyx_t_7 = __pyx_t_8;
    __pyx_L7_bool_binop_done:;
    if (__pyx_t_7) {

      /* "Cython/Compiler/Code.py":2830
 *             self.emit_marker()
 *         if self.code_config.emit_linenums and self.last_marked_pos:
 *             source_desc, line, _ = self.last_marked_pos             # <<<<<<<<<<<<<<
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')
 *         if code:
*/
      __pyx_t_1 = __pyx_v_self->last_marked_pos;
      __Pyx_INCREF(__pyx_t_1);
      if (likely(__pyx_t_1 != Py_None)) {
        PyObject* sequence = __pyx_t_1;
        Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(sequence);
        if (unlikely(size != 3)) {
          if (size > 3) __Pyx_RaiseTooManyValuesError(3);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 2830, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_4);
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2);
        __Pyx_INCREF(__pyx_t_5);
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2830, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2830, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2830, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else {
        __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 2830, __pyx_L1_error)
      }
      __pyx_v_source_desc = __pyx_t_2;
      __pyx_t_2 = 0;
      __pyx_v_line = __pyx_t_4;
      __pyx_t_4 = 0;
      __pyx_v__ = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2831
 *         if self.code_config.emit_linenums and self.last_marked_pos:
 *             source_desc, line, _ = self.last_marked_pos
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')             # <<<<<<<<<<<<<<
 *         if code:
 *             if safe:
*/
      __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_line, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_desc, __pyx_mstate_global->__pyx_n_u_get_escaped_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u_line;
      __pyx_t_9[1] = __pyx_t_1;
      __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__63;
      __pyx_t_9[3] = __pyx_t_5;
      __pyx_t_9[4] = __pyx_mstate_global->__pyx_kp_u__34;
      __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_9, 5, 7 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(__pyx_v_self, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2829
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
 *         if self.code_config.emit_linenums and self.last_marked_pos:             # <<<<<<<<<<<<<<
 *             source_desc, line, _ = self.last_marked_pos
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')
*/
    }

    /* "Cython/Compiler/Code.py":2832
 *             source_desc, line, _ = self.last_marked_pos
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')
 *         if code:             # <<<<<<<<<<<<<<
 *             if safe:
 *                 self.put_safe(code)
*/
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_code); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 2832, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "Cython/Compiler/Code.py":2833
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')
 *         if code:
 *             if safe:             # <<<<<<<<<<<<<<
 *                 self.put_safe(code)
 *             else:
*/
      if (__pyx_v_safe) {

        /* "Cython/Compiler/Code.py":2834
 *         if code:
 *             if safe:
 *                 self.put_safe(code)             # <<<<<<<<<<<<<<
 *             else:
 *                 self.put(code)
*/
        __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put_safe(__pyx_v_self, __pyx_v_code, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2834, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

        /* "Cython/Compiler/Code.py":2833
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')
 *         if code:
 *             if safe:             # <<<<<<<<<<<<<<
 *                 self.put_safe(code)
 *             else:
*/
        goto __pyx_L10;
      }

      /* "Cython/Compiler/Code.py":2836
 *                 self.put_safe(code)
 *             else:
 *                 self.put(code)             # <<<<<<<<<<<<<<
 *         self._write_lines("\n")
 *         self.bol = 1
*/
      /*else*/ {
        __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_v_code, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2836, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
      __pyx_L10:;

      /* "Cython/Compiler/Code.py":2832
 *             source_desc, line, _ = self.last_marked_pos
 *             self._write_lines(f'\n#line {line} "{source_desc.get_escaped_description()}"\n')
 *         if code:             # <<<<<<<<<<<<<<
 *             if safe:
 *                 self.put_safe(code)
*/
    }

    /* "Cython/Compiler/Code.py":2837
 *             else:
 *                 self.put(code)
 *         self._write_lines("\n")             # <<<<<<<<<<<<<<
 *         self.bol = 1
 * 
*/
    __pyx_t_5 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(__pyx_v_self, __pyx_mstate_global->__pyx_kp_u__3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":2838
 *                 self.put(code)
 *         self._write_lines("\n")
 *         self.bol = 1             # <<<<<<<<<<<<<<
 * 
 *     def mark_pos(self, pos, trace=True):
*/
    __pyx_v_self->bol = 1;

    /* "Cython/Compiler/Code.py":2826
 *     # code generation
 * 
 *     def putln(self, code="", safe=False):             # <<<<<<<<<<<<<<
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.putln", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_source_desc);
    __Pyx_XDECREF(__pyx_v_line);
    __Pyx_XDECREF(__pyx_v__);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_102putln(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_102putln = {"putln", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_102putln, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_102putln(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_code = 0;
    int __pyx_v_safe;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("putln (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_code,&__pyx_mstate_global->__pyx_n_u_safe,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2826, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2826, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2826, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "putln", 0) < (0)) __PYX_ERR(0, 2826, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2826, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2826, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));
      }
      __pyx_v_code = values[0];
      if (values[1]) {
        __pyx_v_safe = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_safe == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2826, __pyx_L3_error)
      } else {
        __pyx_v_safe = ((int)0);
      }
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("putln", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 2826, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.putln", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_101putln(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_code, __pyx_v_safe);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_101putln(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, int __pyx_v_safe) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("putln", 0);
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2.__pyx_n = 2;
    __pyx_t_2.code = __pyx_v_code;
    __pyx_t_2.safe = __pyx_v_safe;
    __pyx_t_1 = __pyx_vtabptr_6Cython_8Compiler_4Code_CCodeWriter->putln(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.putln", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2840
 *         self.bol = 1
 * 
 *     def mark_pos(self, pos, trace=True):             # <<<<<<<<<<<<<<
 *         if pos is None:
 *             return
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_104mark_pos(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_104mark_pos = {"mark_pos", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_104mark_pos, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_104mark_pos(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_trace = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("mark_pos (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_trace,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2840, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2840, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2840, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "mark_pos", 0) < (0)) __PYX_ERR(0, 2840, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("mark_pos", 0, 1, 2, i); __PYX_ERR(0, 2840, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2840, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2840, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_pos = values[0];
      __pyx_v_trace = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("mark_pos", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2840, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.mark_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_103mark_pos(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_trace);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_103mark_pos(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_trace) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("mark_pos", 0);

    /* "Cython/Compiler/Code.py":2841
 * 
 *     def mark_pos(self, pos, trace=True):
 *         if pos is None:             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:
*/
    __pyx_t_1 = (__pyx_v_pos == Py_None);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2842
 *     def mark_pos(self, pos, trace=True):
 *         if pos is None:
 *             return             # <<<<<<<<<<<<<<
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:
 *             return
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":2841
 * 
 *     def mark_pos(self, pos, trace=True):
 *         if pos is None:             # <<<<<<<<<<<<<<
 *             return
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:
*/
    }

    /* "Cython/Compiler/Code.py":2843
 *         if pos is None:
 *             return
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:             # <<<<<<<<<<<<<<
 *             return
 *         self.last_pos = (pos, trace)
*/
    if (__pyx_v_self->last_marked_pos == Py_None) __pyx_t_2 = 0;
    else
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_v_self->last_marked_pos);
      if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 2843, __pyx_L1_error)
      __pyx_t_2 = (__pyx_temp != 0);
    }

    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }
    if (unlikely(__pyx_v_self->last_marked_pos == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 2843, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyTuple_GetSlice(__pyx_v_self->last_marked_pos, 0, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_pos, 0, 2, NULL, NULL, &__pyx_mstate_global->__pyx_slice[5], 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2843, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2843, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_1 = __pyx_t_2;
    __pyx_L5_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2844
 *             return
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:
 *             return             # <<<<<<<<<<<<<<
 *         self.last_pos = (pos, trace)
 * 
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":2843
 *         if pos is None:
 *             return
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:             # <<<<<<<<<<<<<<
 *             return
 *         self.last_pos = (pos, trace)
*/
    }

    /* "Cython/Compiler/Code.py":2845
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:
 *             return
 *         self.last_pos = (pos, trace)             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_v_pos);
    __Pyx_GIVEREF(__pyx_v_pos);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_pos) != (0)) __PYX_ERR(0, 2845, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_trace);
    __Pyx_GIVEREF(__pyx_v_trace);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_trace) != (0)) __PYX_ERR(0, 2845, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_v_self->last_pos);
    __Pyx_DECREF(__pyx_v_self->last_pos);
    __pyx_v_self->last_pos = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":2840
 *         self.bol = 1
 * 
 *     def mark_pos(self, pos, trace=True):             # <<<<<<<<<<<<<<
 *         if pos is None:
 *             return
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.mark_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2847
 *         self.last_pos = (pos, trace)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def emit_marker(self):
 *         pos, trace = self.last_pos
*/

  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_emit_marker(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_v_pos = NULL;
    PyObject *__pyx_v_trace = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    int __pyx_t_4;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("emit_marker", 0);

    /* "Cython/Compiler/Code.py":2849
 *     @cython.final
 *     def emit_marker(self):
 *         pos, trace = self.last_pos             # <<<<<<<<<<<<<<
 *         self.last_marked_pos = pos
 *         self.last_pos = None
*/
    __pyx_t_1 = __pyx_v_self->last_pos;
    __Pyx_INCREF(__pyx_t_1);
    if (likely(__pyx_t_1 != Py_None)) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2849, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_3);
      #else
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2849, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2849, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 2849, __pyx_L1_error)
    }
    __pyx_v_pos = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_v_trace = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2850
 *     def emit_marker(self):
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = pos             # <<<<<<<<<<<<<<
 *         self.last_pos = None
 *         self._write_lines("\n")
*/
    __pyx_t_1 = __pyx_v_pos;
    __Pyx_INCREF(__pyx_t_1);
    if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(0, 2850, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_v_self->last_marked_pos);
    __Pyx_DECREF(__pyx_v_self->last_marked_pos);
    __pyx_v_self->last_marked_pos = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2851
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = pos
 *         self.last_pos = None             # <<<<<<<<<<<<<<
 *         self._write_lines("\n")
 *         if self.code_config.emit_code_comments:
*/
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->last_pos);
    __Pyx_DECREF(__pyx_v_self->last_pos);
    __pyx_v_self->last_pos = ((PyObject*)Py_None);

    /* "Cython/Compiler/Code.py":2852
 *         self.last_marked_pos = pos
 *         self.last_pos = None
 *         self._write_lines("\n")             # <<<<<<<<<<<<<<
 *         if self.code_config.emit_code_comments:
 *             self.indent()
*/
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(__pyx_v_self, __pyx_mstate_global->__pyx_kp_u__3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2853
 *         self.last_pos = None
 *         self._write_lines("\n")
 *         if self.code_config.emit_code_comments:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self._write_lines(self._build_marker(pos))
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->code_config, __pyx_mstate_global->__pyx_n_u_emit_code_comments); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 2853, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":2854
 *         self._write_lines("\n")
 *         if self.code_config.emit_code_comments:
 *             self.indent()             # <<<<<<<<<<<<<<
 *             self._write_lines(self._build_marker(pos))
 *         if trace:
*/
      __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_indent(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2855
 *         if self.code_config.emit_code_comments:
 *             self.indent()
 *             self._write_lines(self._build_marker(pos))             # <<<<<<<<<<<<<<
 *         if trace:
 *             self.write_trace_line(pos)
*/
      __pyx_t_1 = __pyx_v_pos;
      __Pyx_INCREF(__pyx_t_1);
      if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(0, 2855, __pyx_L1_error)
      __pyx_t_3 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__build_marker(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2855, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(__pyx_v_self, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2855, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2853
 *         self.last_pos = None
 *         self._write_lines("\n")
 *         if self.code_config.emit_code_comments:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self._write_lines(self._build_marker(pos))
*/
    }

    /* "Cython/Compiler/Code.py":2856
 *             self.indent()
 *             self._write_lines(self._build_marker(pos))
 *         if trace:             # <<<<<<<<<<<<<<
 *             self.write_trace_line(pos)
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_trace); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 2856, __pyx_L1_error)
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":2857
 *             self._write_lines(self._build_marker(pos))
 *         if trace:
 *             self.write_trace_line(pos)             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
      __pyx_t_3 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pos};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_write_trace_line, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2857, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2856
 *             self.indent()
 *             self._write_lines(self._build_marker(pos))
 *         if trace:             # <<<<<<<<<<<<<<
 *             self.write_trace_line(pos)
 * 
*/
    }

    /* "Cython/Compiler/Code.py":2847
 *         self.last_pos = (pos, trace)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def emit_marker(self):
 *         pos, trace = self.last_pos
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.emit_marker", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_pos);
    __Pyx_XDECREF(__pyx_v_trace);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2859
 *             self.write_trace_line(pos)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def write_trace_line(self, pos):
 *         if self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_106write_trace_line(PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_106write_trace_line = {"write_trace_line", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_106write_trace_line, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_106write_trace_line(PyObject *__pyx_v_self, PyObject *__pyx_v_pos) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("write_trace_line (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_105write_trace_line(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_pos));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_105write_trace_line(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8[9];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("write_trace_line", 0);

    /* "Cython/Compiler/Code.py":2861
 *     @cython.final
 *     def write_trace_line(self, pos):
 *         if self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self._write_lines(
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->funcstate)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2861, __pyx_L1_error)
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L4_bool_binop_done;
    }
    if (__pyx_v_self->funcstate->can_trace) {
    } else {
      __pyx_t_1 = __pyx_v_self->funcstate->can_trace;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_linetrace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2861, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = __pyx_t_2;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2862
 *     def write_trace_line(self, pos):
 *         if self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
 *             self.indent()             # <<<<<<<<<<<<<<
 *             self._write_lines(
 *                 f'__Pyx_TraceLine({pos[1]:d},{self.pos_to_offset(pos):d},{not self.funcstate.gil_owned:d},{self.error_goto(pos)})\n')
*/
      __pyx_t_4 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_indent(__pyx_v_self); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2862, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":2864
 *             self.indent()
 *             self._write_lines(
 *                 f'__Pyx_TraceLine({pos[1]:d},{self.pos_to_offset(pos):d},{not self.funcstate.gil_owned:d},{self.error_goto(pos)})\n')             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_Format(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_pos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_Format(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_From_bint((!__pyx_v_self->funcstate->gil_owned), 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_error_goto); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_pos); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceLine;
      __pyx_t_8[1] = __pyx_t_3;
      __pyx_t_8[2] = __pyx_mstate_global->__pyx_kp_u__35;
      __pyx_t_8[3] = __pyx_t_4;
      __pyx_t_8[4] = __pyx_mstate_global->__pyx_kp_u__35;
      __pyx_t_8[5] = __pyx_t_5;
      __pyx_t_8[6] = __pyx_mstate_global->__pyx_kp_u__35;
      __pyx_t_8[7] = __pyx_t_6;
      __pyx_t_8[8] = __pyx_mstate_global->__pyx_kp_u__64;
      __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_8, 9, 16 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":2863
 *         if self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
 *             self.indent()
 *             self._write_lines(             # <<<<<<<<<<<<<<
 *                 f'__Pyx_TraceLine({pos[1]:d},{self.pos_to_offset(pos):d},{not self.funcstate.gil_owned:d},{self.error_goto(pos)})\n')
 * 
*/
      __pyx_t_6 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines(__pyx_v_self, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2863, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":2861
 *     @cython.final
 *     def write_trace_line(self, pos):
 *         if self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self._write_lines(
*/
    }

    /* "Cython/Compiler/Code.py":2859
 *             self.write_trace_line(pos)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def write_trace_line(self, pos):
 *         if self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.write_trace_line", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2866
 *                 f'__Pyx_TraceLine({pos[1]:d},{self.pos_to_offset(pos):d},{not self.funcstate.gil_owned:d},{self.error_goto(pos)})\n')
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _build_marker(self, pos):
 *         source_desc, line, col = pos
*/

  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__build_marker(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos) {
    PyObject *__pyx_v_source_desc = NULL;
    PyObject *__pyx_v_line = NULL;
    CYTHON_UNUSED PyObject *__pyx_v_col = NULL;
    PyObject *__pyx_v_contents = NULL;
    PyObject *__pyx_v_lines = NULL;
    PyObject *__pyx_v_code = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    int __pyx_t_4;
    size_t __pyx_t_5;
    long __pyx_t_6;
    PyObject *__pyx_t_7 = NULL;
    Py_ssize_t __pyx_t_8;
    PyObject *__pyx_t_9[7];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("_build_marker", 0);

    /* "Cython/Compiler/Code.py":2868
 *     @cython.final
 *     def _build_marker(self, pos):
 *         source_desc, line, col = pos             # <<<<<<<<<<<<<<
 *         assert isinstance(source_desc, SourceDescriptor)
 *         contents = self.globalstate.commented_file_contents(source_desc)
*/
    if (likely(__pyx_v_pos != Py_None)) {
      PyObject* sequence = __pyx_v_pos;
      Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(sequence);
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2868, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2);
      __Pyx_INCREF(__pyx_t_3);
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2868, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2868, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2868, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
    } else {
      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 2868, __pyx_L1_error)
    }
    __pyx_v_source_desc = __pyx_t_1;
    __pyx_t_1 = 0;
    __pyx_v_line = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_v_col = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2869
 *     def _build_marker(self, pos):
 *         source_desc, line, col = pos
 *         assert isinstance(source_desc, SourceDescriptor)             # <<<<<<<<<<<<<<
 *         contents = self.globalstate.commented_file_contents(source_desc)
 *         lines = contents[max(0, line-3):line]  # line numbers start at 1
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_3 = __pyx_v_6Cython_8Compiler_4Code_SourceDescriptor;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = PyObject_IsInstance(__pyx_v_source_desc, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2869, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(0, 2869, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(0, 2869, __pyx_L1_error)
    #endif

    /* "Cython/Compiler/Code.py":2870
 *         source_desc, line, col = pos
 *         assert isinstance(source_desc, SourceDescriptor)
 *         contents = self.globalstate.commented_file_contents(source_desc)             # <<<<<<<<<<<<<<
 *         lines = contents[max(0, line-3):line]  # line numbers start at 1
 *         lines[-1] += '             # <<<<<<<<<<<<<<'
*/
    __pyx_t_2 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_source_desc};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_commented_file_contents, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2870, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_v_contents = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2871
 *         assert isinstance(source_desc, SourceDescriptor)
 *         contents = self.globalstate.commented_file_contents(source_desc)
 *         lines = contents[max(0, line-3):line]  # line numbers start at 1             # <<<<<<<<<<<<<<
 *         lines[-1] += '             # <<<<<<<<<<<<<<'
 *         lines += contents[line:line+2]
*/
    __pyx_t_3 = __Pyx_PyLong_SubtractObjC(__pyx_v_line, __pyx_mstate_global->__pyx_int_3, 3, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_long(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2871, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 2871, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (__pyx_t_4) {
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_2 = __pyx_t_3;
    } else {
      __pyx_t_7 = __Pyx_PyLong_From_long(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2871, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = __pyx_t_7;
      __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_contents, 0, 0, &__pyx_t_2, &__pyx_v_line, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_lines = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2872
 *         contents = self.globalstate.commented_file_contents(source_desc)
 *         lines = contents[max(0, line-3):line]  # line numbers start at 1
 *         lines[-1] += '             # <<<<<<<<<<<<<<'             # <<<<<<<<<<<<<<
 *         lines += contents[line:line+2]
 *         code = "\n".join(lines)
*/
    __pyx_t_8 = -1L;
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_lines, __pyx_t_8, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__65); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely((__Pyx_SetItemInt(__pyx_v_lines, __pyx_t_8, __pyx_t_2, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 2872, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2873
 *         lines = contents[max(0, line-3):line]  # line numbers start at 1
 *         lines[-1] += '             # <<<<<<<<<<<<<<'
 *         lines += contents[line:line+2]             # <<<<<<<<<<<<<<
 *         code = "\n".join(lines)
 *         return f'/[inserted by cython to avoid comment start]* "{source_desc.get_escaped_description()}":{line:d}\n{code}\n*[inserted by cython to avoid comment closer]/\n'
*/
    __pyx_t_2 = __Pyx_PyLong_AddObjC(__pyx_v_line, __pyx_mstate_global->__pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_contents, 0, 0, &__pyx_v_line, &__pyx_t_2, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_lines, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_lines, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2874
 *         lines[-1] += '             # <<<<<<<<<<<<<<'
 *         lines += contents[line:line+2]
 *         code = "\n".join(lines)             # <<<<<<<<<<<<<<
 *         return f'/[inserted by cython to avoid comment start]* "{source_desc.get_escaped_description()}":{line:d}\n{code}\n*[inserted by cython to avoid comment closer]/\n'
 * 
*/
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__3, __pyx_v_lines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_code = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2875
 *         lines += contents[line:line+2]
 *         code = "\n".join(lines)
 *         return f'/[inserted by cython to avoid comment start]* "{source_desc.get_escaped_description()}":{line:d}\n{code}\n*[inserted by cython to avoid comment closer]/\n'             # <<<<<<<<<<<<<<
 * 
 *     def put_safe(self, code):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_desc, __pyx_mstate_global->__pyx_n_u_get_escaped_description); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Format(__pyx_v_line, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyUnicode_Unicode(__pyx_v_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u__66;
    __pyx_t_9[1] = __pyx_t_2;
    __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__67;
    __pyx_t_9[3] = __pyx_t_3;
    __pyx_t_9[4] = __pyx_mstate_global->__pyx_kp_u__3;
    __pyx_t_9[5] = __pyx_t_7;
    __pyx_t_9[6] = __pyx_mstate_global->__pyx_kp_u__68;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_9, 7, 4 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2866
 *                 f'__Pyx_TraceLine({pos[1]:d},{self.pos_to_offset(pos):d},{not self.funcstate.gil_owned:d},{self.error_goto(pos)})\n')
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _build_marker(self, pos):
 *         source_desc, line, col = pos
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter._build_marker", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_source_desc);
    __Pyx_XDECREF(__pyx_v_line);
    __Pyx_XDECREF(__pyx_v_col);
    __Pyx_XDECREF(__pyx_v_contents);
    __Pyx_XDECREF(__pyx_v_lines);
    __Pyx_XDECREF(__pyx_v_code);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2877
 *         return f'/[inserted by cython to avoid comment start]* "{source_desc.get_escaped_description()}":{line:d}\n{code}\n*[inserted by cython to avoid comment closer]/\n'
 * 
 *     def put_safe(self, code):             # <<<<<<<<<<<<<<
 *         # put code, but ignore {}
 *         self.write(code)
*/

  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_108put_safe(PyObject *__pyx_v_self, PyObject *__pyx_v_code); /*proto*/
  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_safe(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, int __pyx_skip_dispatch) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_safe", 0);
    /* Check if called by wrapper */
    if (unlikely(__pyx_skip_dispatch)) ;
    /* Check if overridden in Python */
    else if (
    #if !CYTHON_USE_TYPE_SLOTS
    unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter &&
    __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
    #else
    unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
    #endif
    ) {
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
        PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
        #endif
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_safe); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2877, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_108put_safe)) {
          __Pyx_XDECREF(__pyx_r);
          __pyx_t_3 = NULL;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_4 = __pyx_t_1; 
          __pyx_t_5 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            assert(__pyx_t_3);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_3);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
            __pyx_t_5 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_code};
            __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2877, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
          }
          __pyx_r = __pyx_t_2;
          __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          goto __pyx_L0;
        }
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
        __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
        if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
          __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        }
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      }
      #endif
    }

    /* "Cython/Compiler/Code.py":2879
 *     def put_safe(self, code):
 *         # put code, but ignore {}
 *         self.write(code)             # <<<<<<<<<<<<<<
 *         self.bol = 0
 * 
*/
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->write(__pyx_v_self, __pyx_v_code, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2880
 *         # put code, but ignore {}
 *         self.write(code)
 *         self.bol = 0             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
    __pyx_v_self->bol = 0;

    /* "Cython/Compiler/Code.py":2877
 *         return f'/[inserted by cython to avoid comment start]* "{source_desc.get_escaped_description()}":{line:d}\n{code}\n*[inserted by cython to avoid comment closer]/\n'
 * 
 *     def put_safe(self, code):             # <<<<<<<<<<<<<<
 *         # put code, but ignore {}
 *         self.write(code)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_safe", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_108put_safe(PyObject *__pyx_v_self, PyObject *__pyx_v_code); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_108put_safe = {"put_safe", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_108put_safe, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_108put_safe(PyObject *__pyx_v_self, PyObject *__pyx_v_code) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_safe (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_107put_safe(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_code));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_107put_safe(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_safe", 0);
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_safe(__pyx_v_self, __pyx_v_code, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_safe", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2882
 *         self.bol = 0
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_110put_or_include(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_110put_or_include = {"put_or_include", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_110put_or_include, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_110put_or_include(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_code = 0;
    PyObject *__pyx_v_name = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_or_include (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_code,&__pyx_mstate_global->__pyx_n_u_name,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2882, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2882, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2882, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_or_include", 0) < (0)) __PYX_ERR(0, 2882, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_or_include", 1, 2, 2, i); __PYX_ERR(0, 2882, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2882, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2882, __pyx_L3_error)
      }
      __pyx_v_code = values[0];
      __pyx_v_name = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_or_include", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2882, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_or_include", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_109put_or_include(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_code, __pyx_v_name);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_109put_or_include(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_name) {
    PyObject *__pyx_v_include_dir = NULL;
    PyObject *__pyx_v_hash = NULL;
    PyObject *__pyx_v_include_file = NULL;
    PyObject *__pyx_v_path = NULL;
    PyObject *__pyx_v_tmp_path = NULL;
    int __pyx_v_done;
    PyObject *__pyx_v_f = NULL;
    PyObject *__pyx_v_c_path = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    int __pyx_t_3;
    Py_ssize_t __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    PyObject *__pyx_t_9 = NULL;
    PyObject *__pyx_t_10 = NULL;
    size_t __pyx_t_11;
    PyObject *__pyx_t_12[4];
    PyObject *__pyx_t_13[3];
    PyObject *__pyx_t_14 = NULL;
    PyObject *__pyx_t_15 = NULL;
    PyObject *__pyx_t_16 = NULL;
    PyObject *__pyx_t_17 = NULL;
    PyObject *__pyx_t_18 = NULL;
    PyObject *__pyx_t_19 = NULL;
    PyObject *__pyx_t_20 = NULL;
    PyObject *__pyx_t_21 = NULL;
    int __pyx_t_22;
    int __pyx_t_23;
    char const *__pyx_t_24;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_or_include", 0);
    __Pyx_INCREF(__pyx_v_code);

    /* "Cython/Compiler/Code.py":2884
 *     @cython.final
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir             # <<<<<<<<<<<<<<
 *         if include_dir and len(code) > 1024:
 *             hash = hashlib.sha256(code.encode('utf8')).hexdigest()
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_common_utility_include_dir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_include_dir = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2885
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:             # <<<<<<<<<<<<<<
 *             hash = hashlib.sha256(code.encode('utf8')).hexdigest()
 *             include_file = f"{name}_{hash}.h"
*/
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_include_dir); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 2885, __pyx_L1_error)
    if (__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_4 = PyObject_Length(__pyx_v_code); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2885, __pyx_L1_error)
    __pyx_t_3 = (__pyx_t_4 > 0x400);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":2886
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:
 *             hash = hashlib.sha256(code.encode('utf8')).hexdigest()             # <<<<<<<<<<<<<<
 *             include_file = f"{name}_{hash}.h"
 *             path = os.path.join(include_dir, include_file)
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_hashlib); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2886, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_sha256); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2886, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_10 = __pyx_v_code;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_n_u_utf8};
        __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_encode, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2886, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __pyx_t_11 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9);
        assert(__pyx_t_7);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
        __pyx_t_11 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8};
        __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2886, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_5 = __pyx_t_6;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_hexdigest, __pyx_callargs+__pyx_t_11, (1-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2886, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_v_hash = __pyx_t_1;
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2887
 *         if include_dir and len(code) > 1024:
 *             hash = hashlib.sha256(code.encode('utf8')).hexdigest()
 *             include_file = f"{name}_{hash}.h"             # <<<<<<<<<<<<<<
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):
*/
      __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_hash, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_12[0] = __pyx_t_1;
      __pyx_t_12[1] = __pyx_mstate_global->__pyx_n_u__26;
      __pyx_t_12[2] = __pyx_t_6;
      __pyx_t_12[3] = __pyx_mstate_global->__pyx_kp_u_h;
      __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_12, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_v_include_file = ((PyObject*)__pyx_t_5);
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2888
 *             hash = hashlib.sha256(code.encode('utf8')).hexdigest()
 *             include_file = f"{name}_{hash}.h"
 *             path = os.path.join(include_dir, include_file)             # <<<<<<<<<<<<<<
 *             if not os.path.exists(path):
 *                 tmp_path = f'{path}.tmp{os.getpid()}'
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2888, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __pyx_t_1;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_include_dir, __pyx_v_include_file};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_join, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2888, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_v_path = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2889
 *             include_file = f"{name}_{hash}.h"
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):             # <<<<<<<<<<<<<<
 *                 tmp_path = f'{path}.tmp{os.getpid()}'
 *                 done = False
*/
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2889, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_1 = __pyx_t_6;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_11 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_path};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exists, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2889, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2889, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_3 = (!__pyx_t_2);
      if (__pyx_t_3) {

        /* "Cython/Compiler/Code.py":2890
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):
 *                 tmp_path = f'{path}.tmp{os.getpid()}'             # <<<<<<<<<<<<<<
 *                 done = False
 *                 try:
*/
        __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_path, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2890, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_getpid); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2890, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2890, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2890, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_13[0] = __pyx_t_5;
        __pyx_t_13[1] = __pyx_mstate_global->__pyx_kp_u_tmp;
        __pyx_t_13[2] = __pyx_t_6;
        __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_13, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2890, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_v_tmp_path = ((PyObject*)__pyx_t_1);
        __pyx_t_1 = 0;

        /* "Cython/Compiler/Code.py":2891
 *             if not os.path.exists(path):
 *                 tmp_path = f'{path}.tmp{os.getpid()}'
 *                 done = False             # <<<<<<<<<<<<<<
 *                 try:
 *                     with Utils.open_new_file(tmp_path) as f:
*/
        __pyx_v_done = 0;

        /* "Cython/Compiler/Code.py":2892
 *                 tmp_path = f'{path}.tmp{os.getpid()}'
 *                 done = False
 *                 try:             # <<<<<<<<<<<<<<
 *                     with Utils.open_new_file(tmp_path) as f:
 *                         f.write(code)
*/
        /*try:*/ {
          {
            __Pyx_PyThreadState_declare
            __Pyx_PyThreadState_assign
            __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
            __Pyx_XGOTREF(__pyx_t_14);
            __Pyx_XGOTREF(__pyx_t_15);
            __Pyx_XGOTREF(__pyx_t_16);
            /*try:*/ {

              /* "Cython/Compiler/Code.py":2893
 *                 done = False
 *                 try:
 *                     with Utils.open_new_file(tmp_path) as f:             # <<<<<<<<<<<<<<
 *                         f.write(code)
 *                     shutil.move(tmp_path, path)
*/
              /*with:*/ {
                __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_Utils;
                __Pyx_INCREF(__pyx_t_6);
                __pyx_t_11 = 0;
                {
                  PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_tmp_path};
                  __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_open_new_file, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
                  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2893, __pyx_L10_error)
                  __Pyx_GOTREF(__pyx_t_1);
                }
                __pyx_t_17 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2893, __pyx_L10_error)
                __Pyx_GOTREF(__pyx_t_17);
                __pyx_t_5 = NULL;
                __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2893, __pyx_L16_error)
                __Pyx_GOTREF(__pyx_t_9);
                __pyx_t_11 = 1;
                #if CYTHON_UNPACK_METHODS
                if (likely(PyMethod_Check(__pyx_t_9))) {
                  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
                  assert(__pyx_t_5);
                  PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(__pyx__function);
                  __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
                  __pyx_t_11 = 0;
                }
                #endif
                {
                  PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
                  __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_11, (1-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
                  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2893, __pyx_L16_error)
                  __Pyx_GOTREF(__pyx_t_6);
                }
                __pyx_t_9 = __pyx_t_6;
                __pyx_t_6 = 0;
                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
                /*try:*/ {
                  {
                    __Pyx_PyThreadState_declare
                    __Pyx_PyThreadState_assign
                    __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
                    __Pyx_XGOTREF(__pyx_t_18);
                    __Pyx_XGOTREF(__pyx_t_19);
                    __Pyx_XGOTREF(__pyx_t_20);
                    /*try:*/ {
                      __pyx_v_f = __pyx_t_9;
                      __pyx_t_9 = 0;

                      /* "Cython/Compiler/Code.py":2894
 *                 try:
 *                     with Utils.open_new_file(tmp_path) as f:
 *                         f.write(code)             # <<<<<<<<<<<<<<
 *                     shutil.move(tmp_path, path)
 *                     done = True
*/
                      __pyx_t_1 = __pyx_v_f;
                      __Pyx_INCREF(__pyx_t_1);
                      __pyx_t_11 = 0;
                      {
                        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_code};
                        __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_write, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2894, __pyx_L20_error)
                        __Pyx_GOTREF(__pyx_t_9);
                      }
                      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

                      /* "Cython/Compiler/Code.py":2893
 *                 done = False
 *                 try:
 *                     with Utils.open_new_file(tmp_path) as f:             # <<<<<<<<<<<<<<
 *                         f.write(code)
 *                     shutil.move(tmp_path, path)
*/
                    }
                    __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
                    __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
                    __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
                    goto __pyx_L25_try_end;
                    __pyx_L20_error:;
                    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
                    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
                    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
                    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                    /*except:*/ {
                      __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_or_include", __pyx_clineno, __pyx_lineno, __pyx_filename);
                      if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 2893, __pyx_L22_except_error)
                      __Pyx_XGOTREF(__pyx_t_9);
                      __Pyx_XGOTREF(__pyx_t_1);
                      __Pyx_XGOTREF(__pyx_t_6);
                      __pyx_t_5 = PyTuple_Pack(3, __pyx_t_9, __pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2893, __pyx_L22_except_error)
                      __Pyx_GOTREF(__pyx_t_5);
                      __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_5, NULL);
                      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
                      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
                      if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2893, __pyx_L22_except_error)
                      __Pyx_GOTREF(__pyx_t_21);
                      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_21);
                      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
                      if (__pyx_t_3 < (0)) __PYX_ERR(0, 2893, __pyx_L22_except_error)
                      __pyx_t_2 = (!__pyx_t_3);
                      if (unlikely(__pyx_t_2)) {
                        __Pyx_GIVEREF(__pyx_t_9);
                        __Pyx_GIVEREF(__pyx_t_1);
                        __Pyx_XGIVEREF(__pyx_t_6);
                        __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_1, __pyx_t_6);
                        __pyx_t_9 = 0;  __pyx_t_1 = 0;  __pyx_t_6 = 0; 
                        __PYX_ERR(0, 2893, __pyx_L22_except_error)
                      }
                      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
                      goto __pyx_L21_exception_handled;
                    }
                    __pyx_L22_except_error:;
                    __Pyx_XGIVEREF(__pyx_t_18);
                    __Pyx_XGIVEREF(__pyx_t_19);
                    __Pyx_XGIVEREF(__pyx_t_20);
                    __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                    goto __pyx_L10_error;
                    __pyx_L21_exception_handled:;
                    __Pyx_XGIVEREF(__pyx_t_18);
                    __Pyx_XGIVEREF(__pyx_t_19);
                    __Pyx_XGIVEREF(__pyx_t_20);
                    __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
                    __pyx_L25_try_end:;
                  }
                }
                /*finally:*/ {
                  /*normal exit:*/{
                    if (__pyx_t_17) {
                      __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_mstate_global->__pyx_tuple[0], NULL);
                      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
                      if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 2893, __pyx_L10_error)
                      __Pyx_GOTREF(__pyx_t_20);
                      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
                    }
                    goto __pyx_L19;
                  }
                  __pyx_L19:;
                }
                goto __pyx_L29;
                __pyx_L16_error:;
                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
                goto __pyx_L10_error;
                __pyx_L29:;
              }

              /* "Cython/Compiler/Code.py":2895
 *                     with Utils.open_new_file(tmp_path) as f:
 *                         f.write(code)
 *                     shutil.move(tmp_path, path)             # <<<<<<<<<<<<<<
 *                     done = True
 *                 except (FileExistsError, PermissionError):
*/
              __pyx_t_1 = NULL;
              __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_shutil); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2895, __pyx_L10_error)
              __Pyx_GOTREF(__pyx_t_9);
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_move); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2895, __pyx_L10_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              __pyx_t_11 = 1;
              #if CYTHON_UNPACK_METHODS
              if (unlikely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
                assert(__pyx_t_1);
                PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_1);
                __Pyx_INCREF(__pyx__function);
                __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
                __pyx_t_11 = 0;
              }
              #endif
              {
                PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_v_tmp_path, __pyx_v_path};
                __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
                if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2895, __pyx_L10_error)
                __Pyx_GOTREF(__pyx_t_6);
              }
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

              /* "Cython/Compiler/Code.py":2896
 *                         f.write(code)
 *                     shutil.move(tmp_path, path)
 *                     done = True             # <<<<<<<<<<<<<<
 *                 except (FileExistsError, PermissionError):
 *                     # If a different process created the file faster than us,
*/
              __pyx_v_done = 1;

              /* "Cython/Compiler/Code.py":2892
 *                 tmp_path = f'{path}.tmp{os.getpid()}'
 *                 done = False
 *                 try:             # <<<<<<<<<<<<<<
 *                     with Utils.open_new_file(tmp_path) as f:
 *                         f.write(code)
*/
            }
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
            __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
            goto __pyx_L15_try_end;
            __pyx_L10_error:;
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

            /* "Cython/Compiler/Code.py":2897
 *                     shutil.move(tmp_path, path)
 *                     done = True
 *                 except (FileExistsError, PermissionError):             # <<<<<<<<<<<<<<
 *                     # If a different process created the file faster than us,
 *                     # renaming can fail on Windows.  It's ok if the file is there now.
*/
            __pyx_t_22 = __Pyx_PyErr_ExceptionMatches2(((PyObject *)(((PyTypeObject*)PyExc_FileExistsError))), ((PyObject *)(((PyTypeObject*)PyExc_PermissionError))));
            if (__pyx_t_22) {
              __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_or_include", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 2897, __pyx_L12_except_error)
              __Pyx_XGOTREF(__pyx_t_6);
              __Pyx_XGOTREF(__pyx_t_5);
              __Pyx_XGOTREF(__pyx_t_1);

              /* "Cython/Compiler/Code.py":2900
 *                     # If a different process created the file faster than us,
 *                     # renaming can fail on Windows.  It's ok if the file is there now.
 *                     if not os.path.exists(path):             # <<<<<<<<<<<<<<
 *                         raise
 *                 finally:
*/
              __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2900, __pyx_L12_except_error)
              __Pyx_GOTREF(__pyx_t_7);
              __pyx_t_8 = __pyx_t_7;
              __Pyx_INCREF(__pyx_t_8);
              __pyx_t_11 = 0;
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_path};
                __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exists, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
                __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
                if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2900, __pyx_L12_except_error)
                __Pyx_GOTREF(__pyx_t_9);
              }
              __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2900, __pyx_L12_except_error)
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              __pyx_t_3 = (!__pyx_t_2);
              if (unlikely(__pyx_t_3)) {

                /* "Cython/Compiler/Code.py":2901
 *                     # renaming can fail on Windows.  It's ok if the file is there now.
 *                     if not os.path.exists(path):
 *                         raise             # <<<<<<<<<<<<<<
 *                 finally:
 *                     if not done and os.path.exists(tmp_path):
*/
                __Pyx_GIVEREF(__pyx_t_6);
                __Pyx_GIVEREF(__pyx_t_5);
                __Pyx_XGIVEREF(__pyx_t_1);
                __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_5, __pyx_t_1);
                __pyx_t_6 = 0;  __pyx_t_5 = 0;  __pyx_t_1 = 0; 
                __PYX_ERR(0, 2901, __pyx_L12_except_error)

                /* "Cython/Compiler/Code.py":2900
 *                     # If a different process created the file faster than us,
 *                     # renaming can fail on Windows.  It's ok if the file is there now.
 *                     if not os.path.exists(path):             # <<<<<<<<<<<<<<
 *                         raise
 *                 finally:
*/
              }
              __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
              goto __pyx_L11_exception_handled;
            }
            goto __pyx_L12_except_error;

            /* "Cython/Compiler/Code.py":2892
 *                 tmp_path = f'{path}.tmp{os.getpid()}'
 *                 done = False
 *                 try:             # <<<<<<<<<<<<<<
 *                     with Utils.open_new_file(tmp_path) as f:
 *                         f.write(code)
*/
            __pyx_L12_except_error:;
            __Pyx_XGIVEREF(__pyx_t_14);
            __Pyx_XGIVEREF(__pyx_t_15);
            __Pyx_XGIVEREF(__pyx_t_16);
            __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
            goto __pyx_L8_error;
            __pyx_L11_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_14);
            __Pyx_XGIVEREF(__pyx_t_15);
            __Pyx_XGIVEREF(__pyx_t_16);
            __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
            __pyx_L15_try_end:;
          }
        }

        /* "Cython/Compiler/Code.py":2903
 *                         raise
 *                 finally:
 *                     if not done and os.path.exists(tmp_path):             # <<<<<<<<<<<<<<
 *                         os.unlink(tmp_path)
 *             # We use forward slashes in the include path to assure identical code generation
*/
        /*finally:*/ {
          /*normal exit:*/{
            __pyx_t_2 = (!__pyx_v_done);
            if (__pyx_t_2) {
            } else {
              __pyx_t_3 = __pyx_t_2;
              goto __pyx_L34_bool_binop_done;
            }
            __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2903, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_5 = __pyx_t_6;
            __Pyx_INCREF(__pyx_t_5);
            __pyx_t_11 = 0;
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_tmp_path};
              __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exists, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2903, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_1);
            }
            __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2903, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            __pyx_t_3 = __pyx_t_2;
            __pyx_L34_bool_binop_done:;
            if (__pyx_t_3) {

              /* "Cython/Compiler/Code.py":2904
 *                 finally:
 *                     if not done and os.path.exists(tmp_path):
 *                         os.unlink(tmp_path)             # <<<<<<<<<<<<<<
 *             # We use forward slashes in the include path to assure identical code generation
 *             # under Windows and Posix.  C/C++ compilers should still understand it.
*/
              __pyx_t_6 = __pyx_v_6Cython_8Compiler_4Code_os;
              __Pyx_INCREF(__pyx_t_6);
              __pyx_t_11 = 0;
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_tmp_path};
                __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_unlink, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
                if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2904, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_1);
              }
              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

              /* "Cython/Compiler/Code.py":2903
 *                         raise
 *                 finally:
 *                     if not done and os.path.exists(tmp_path):             # <<<<<<<<<<<<<<
 *                         os.unlink(tmp_path)
 *             # We use forward slashes in the include path to assure identical code generation
*/
            }
            goto __pyx_L9;
          }
          __pyx_L8_error:;
          /*exception exit:*/{
            __Pyx_PyThreadState_declare
            __Pyx_PyThreadState_assign
            __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_17 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0;
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
             __Pyx_ExceptionSwap(&__pyx_t_17, &__pyx_t_20, &__pyx_t_19);
            if ( unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14);
            __Pyx_XGOTREF(__pyx_t_16);
            __Pyx_XGOTREF(__pyx_t_15);
            __Pyx_XGOTREF(__pyx_t_14);
            __Pyx_XGOTREF(__pyx_t_17);
            __Pyx_XGOTREF(__pyx_t_20);
            __Pyx_XGOTREF(__pyx_t_19);
            __pyx_t_22 = __pyx_lineno; __pyx_t_23 = __pyx_clineno; __pyx_t_24 = __pyx_filename;
            {
              __pyx_t_2 = (!__pyx_v_done);
              if (__pyx_t_2) {
              } else {
                __pyx_t_3 = __pyx_t_2;
                goto __pyx_L39_bool_binop_done;
              }
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_mstate_global->__pyx_n_u_path); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2903, __pyx_L37_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_6 = __pyx_t_5;
              __Pyx_INCREF(__pyx_t_6);
              __pyx_t_11 = 0;
              {
                PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_tmp_path};
                __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_exists, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
                if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2903, __pyx_L37_error)
                __Pyx_GOTREF(__pyx_t_1);
              }
              __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2903, __pyx_L37_error)
              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
              __pyx_t_3 = __pyx_t_2;
              __pyx_L39_bool_binop_done:;
              if (__pyx_t_3) {

                /* "Cython/Compiler/Code.py":2904
 *                 finally:
 *                     if not done and os.path.exists(tmp_path):
 *                         os.unlink(tmp_path)             # <<<<<<<<<<<<<<
 *             # We use forward slashes in the include path to assure identical code generation
 *             # under Windows and Posix.  C/C++ compilers should still understand it.
*/
                __pyx_t_5 = __pyx_v_6Cython_8Compiler_4Code_os;
                __Pyx_INCREF(__pyx_t_5);
                __pyx_t_11 = 0;
                {
                  PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_tmp_path};
                  __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_unlink, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
                  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2904, __pyx_L37_error)
                  __Pyx_GOTREF(__pyx_t_1);
                }
                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

                /* "Cython/Compiler/Code.py":2903
 *                         raise
 *                 finally:
 *                     if not done and os.path.exists(tmp_path):             # <<<<<<<<<<<<<<
 *                         os.unlink(tmp_path)
 *             # We use forward slashes in the include path to assure identical code generation
*/
              }
            }
            __Pyx_XGIVEREF(__pyx_t_17);
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_20, __pyx_t_19);
            __Pyx_XGIVEREF(__pyx_t_16);
            __Pyx_XGIVEREF(__pyx_t_15);
            __Pyx_XGIVEREF(__pyx_t_14);
            __Pyx_ErrRestore(__pyx_t_16, __pyx_t_15, __pyx_t_14);
            __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_17 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0;
            __pyx_lineno = __pyx_t_22; __pyx_clineno = __pyx_t_23; __pyx_filename = __pyx_t_24;
            goto __pyx_L1_error;
            __pyx_L37_error:;
            __Pyx_XGIVEREF(__pyx_t_17);
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_20, __pyx_t_19);
            __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
            __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_17 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0;
            goto __pyx_L1_error;
          }
          __pyx_L9:;
        }

        /* "Cython/Compiler/Code.py":2889
 *             include_file = f"{name}_{hash}.h"
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):             # <<<<<<<<<<<<<<
 *                 tmp_path = f'{path}.tmp{os.getpid()}'
 *                 done = False
*/
      }

      /* "Cython/Compiler/Code.py":2907
 *             # We use forward slashes in the include path to assure identical code generation
 *             # under Windows and Posix.  C/C++ compilers should still understand it.
 *             c_path = path.replace('\\', '/')             # <<<<<<<<<<<<<<
 *             code = f'#include "{c_path}"\n'
 *         self.put_multilines(code)
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_path, __pyx_mstate_global->__pyx_n_u_replace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2907, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[20], NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2907, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_c_path = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2908
 *             # under Windows and Posix.  C/C++ compilers should still understand it.
 *             c_path = path.replace('\\', '/')
 *             code = f'#include "{c_path}"\n'             # <<<<<<<<<<<<<<
 *         self.put_multilines(code)
 * 
*/
      __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_c_path, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2908, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_13[0] = __pyx_mstate_global->__pyx_kp_u_include_4;
      __pyx_t_13[1] = __pyx_t_5;
      __pyx_t_13[2] = __pyx_mstate_global->__pyx_kp_u__34;
      __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_13, 3, 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2908, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":2885
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:             # <<<<<<<<<<<<<<
 *             hash = hashlib.sha256(code.encode('utf8')).hexdigest()
 *             include_file = f"{name}_{hash}.h"
*/
    }

    /* "Cython/Compiler/Code.py":2909
 *             c_path = path.replace('\\', '/')
 *             code = f'#include "{c_path}"\n'
 *         self.put_multilines(code)             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_multilines(__pyx_v_self, __pyx_v_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2882
 *         self.bol = 0
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_10);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_or_include", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_include_dir);
    __Pyx_XDECREF(__pyx_v_hash);
    __Pyx_XDECREF(__pyx_v_include_file);
    __Pyx_XDECREF(__pyx_v_path);
    __Pyx_XDECREF(__pyx_v_tmp_path);
    __Pyx_XDECREF(__pyx_v_f);
    __Pyx_XDECREF(__pyx_v_c_path);
    __Pyx_XDECREF(__pyx_v_code);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2911
 *         self.put_multilines(code)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def put_multilines(self, code):
 *         # We assume that the code is consistently indented and just needs overall indenting.
*/

  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_multilines(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    PyObject *__pyx_t_7 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_multilines", 0);
    __Pyx_INCREF(__pyx_v_code);

    /* "Cython/Compiler/Code.py":2915
 *         # We assume that the code is consistently indented and just needs overall indenting.
 *         # We also don't need to indent the first line since "self.put()" will do it for us.
 *         if self.level and '\n' in code:             # <<<<<<<<<<<<<<
 *             code = ("  " * self.level).join(code.splitlines(keepends=True))
 *         self.put(code)
*/
    __pyx_t_2 = (__pyx_v_self->level != 0);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u__3, __pyx_v_code, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2915, __pyx_L1_error)
    __pyx_t_1 = __pyx_t_2;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2916
 *         # We also don't need to indent the first line since "self.put()" will do it for us.
 *         if self.level and '\n' in code:
 *             code = ("  " * self.level).join(code.splitlines(keepends=True))             # <<<<<<<<<<<<<<
 *         self.put(code)
 * 
*/
      __pyx_t_3 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_u__27, __pyx_v_self->level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2916, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __pyx_v_code;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
        __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2916, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_keepends, Py_True, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 2916, __pyx_L1_error)
        __pyx_t_4 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_splitlines, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2916, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_t_7 = PyUnicode_Join(((PyObject*)__pyx_t_3), __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2916, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_7);
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":2915
 *         # We assume that the code is consistently indented and just needs overall indenting.
 *         # We also don't need to indent the first line since "self.put()" will do it for us.
 *         if self.level and '\n' in code:             # <<<<<<<<<<<<<<
 *             code = ("  " * self.level).join(code.splitlines(keepends=True))
 *         self.put(code)
*/
    }

    /* "Cython/Compiler/Code.py":2917
 *         if self.level and '\n' in code:
 *             code = ("  " * self.level).join(code.splitlines(keepends=True))
 *         self.put(code)             # <<<<<<<<<<<<<<
 * 
 *     def put(self, code):
*/
    __pyx_t_7 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_v_code, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":2911
 *         self.put_multilines(code)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def put_multilines(self, code):
 *         # We assume that the code is consistently indented and just needs overall indenting.
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_multilines", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_code);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2919
 *         self.put(code)
 * 
 *     def put(self, code):             # <<<<<<<<<<<<<<
 *         fix_indent = False
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0
*/

  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_112put(PyObject *__pyx_v_self, PyObject *__pyx_v_code); /*proto*/
  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code, int __pyx_skip_dispatch) {
    int __pyx_v_fix_indent;
    Py_ssize_t __pyx_v_dl;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    Py_ssize_t __pyx_t_6;
    int __pyx_t_7;
    Py_ssize_t __pyx_t_8;
    int __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put", 0);
    /* Check if called by wrapper */
    if (unlikely(__pyx_skip_dispatch)) ;
    /* Check if overridden in Python */
    else if (
    #if !CYTHON_USE_TYPE_SLOTS
    unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter &&
    __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
    #else
    unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
    #endif
    ) {
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
        PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
        #endif
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2919, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_112put)) {
          __Pyx_XDECREF(__pyx_r);
          __pyx_t_3 = NULL;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_4 = __pyx_t_1; 
          __pyx_t_5 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            assert(__pyx_t_3);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_3);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
            __pyx_t_5 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_code};
            __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2919, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
          }
          __pyx_r = __pyx_t_2;
          __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          goto __pyx_L0;
        }
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
        __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
        if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
          __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        }
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      }
      #endif
    }

    /* "Cython/Compiler/Code.py":2920
 * 
 *     def put(self, code):
 *         fix_indent = False             # <<<<<<<<<<<<<<
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0
 *         if "}" in code:
*/
    __pyx_v_fix_indent = 0;

    /* "Cython/Compiler/Code.py":2921
 *     def put(self, code):
 *         fix_indent = False
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0             # <<<<<<<<<<<<<<
 *         if "}" in code:
 *             dl -= code.count("}")
*/
    __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u__54, __pyx_v_code, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 2921, __pyx_L1_error)
    if (__pyx_t_7) {
      __pyx_t_2 = __pyx_v_code;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__54};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_count, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2921, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2921, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_6 = __pyx_t_8;
    } else {
      __pyx_t_6 = 0;
    }
    __pyx_v_dl = __pyx_t_6;

    /* "Cython/Compiler/Code.py":2922
 *         fix_indent = False
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0
 *         if "}" in code:             # <<<<<<<<<<<<<<
 *             dl -= code.count("}")
 *             if dl < 0:
*/
    __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u__43, __pyx_v_code, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 2922, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "Cython/Compiler/Code.py":2923
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0
 *         if "}" in code:
 *             dl -= code.count("}")             # <<<<<<<<<<<<<<
 *             if dl < 0:
 *                 self.level += dl
*/
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_dl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2923, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = __pyx_v_code;
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__43};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_count, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_4 = PyNumber_InPlaceSubtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2923, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2923, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_dl = __pyx_t_6;

      /* "Cython/Compiler/Code.py":2924
 *         if "}" in code:
 *             dl -= code.count("}")
 *             if dl < 0:             # <<<<<<<<<<<<<<
 *                 self.level += dl
 *             elif dl == 0 and code[0] == "}":
*/
      __pyx_t_7 = (__pyx_v_dl < 0);
      if (__pyx_t_7) {

        /* "Cython/Compiler/Code.py":2925
 *             dl -= code.count("}")
 *             if dl < 0:
 *                 self.level += dl             # <<<<<<<<<<<<<<
 *             elif dl == 0 and code[0] == "}":
 *                 # special cases like "} else {" need a temporary dedent
*/
        __pyx_v_self->level = (__pyx_v_self->level + __pyx_v_dl);

        /* "Cython/Compiler/Code.py":2924
 *         if "}" in code:
 *             dl -= code.count("}")
 *             if dl < 0:             # <<<<<<<<<<<<<<
 *                 self.level += dl
 *             elif dl == 0 and code[0] == "}":
*/
        goto __pyx_L4;
      }

      /* "Cython/Compiler/Code.py":2926
 *             if dl < 0:
 *                 self.level += dl
 *             elif dl == 0 and code[0] == "}":             # <<<<<<<<<<<<<<
 *                 # special cases like "} else {" need a temporary dedent
 *                 fix_indent = True
*/
      __pyx_t_9 = (__pyx_v_dl == 0);
      if (__pyx_t_9) {
      } else {
        __pyx_t_7 = __pyx_t_9;
        goto __pyx_L5_bool_binop_done;
      }
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_code, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2926, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__43, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 2926, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_7 = __pyx_t_9;
      __pyx_L5_bool_binop_done:;
      if (__pyx_t_7) {

        /* "Cython/Compiler/Code.py":2928
 *             elif dl == 0 and code[0] == "}":
 *                 # special cases like "} else {" need a temporary dedent
 *                 fix_indent = True             # <<<<<<<<<<<<<<
 *                 self.level -= 1
 *         if self.bol:
*/
        __pyx_v_fix_indent = 1;

        /* "Cython/Compiler/Code.py":2929
 *                 # special cases like "} else {" need a temporary dedent
 *                 fix_indent = True
 *                 self.level -= 1             # <<<<<<<<<<<<<<
 *         if self.bol:
 *             self.indent()
*/
        __pyx_v_self->level = (__pyx_v_self->level - 1);

        /* "Cython/Compiler/Code.py":2926
 *             if dl < 0:
 *                 self.level += dl
 *             elif dl == 0 and code[0] == "}":             # <<<<<<<<<<<<<<
 *                 # special cases like "} else {" need a temporary dedent
 *                 fix_indent = True
*/
      }
      __pyx_L4:;

      /* "Cython/Compiler/Code.py":2922
 *         fix_indent = False
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0
 *         if "}" in code:             # <<<<<<<<<<<<<<
 *             dl -= code.count("}")
 *             if dl < 0:
*/
    }

    /* "Cython/Compiler/Code.py":2930
 *                 fix_indent = True
 *                 self.level -= 1
 *         if self.bol:             # <<<<<<<<<<<<<<
 *             self.indent()
 *         self.write(code)
*/
    if (__pyx_v_self->bol) {

      /* "Cython/Compiler/Code.py":2931
 *                 self.level -= 1
 *         if self.bol:
 *             self.indent()             # <<<<<<<<<<<<<<
 *         self.write(code)
 *         self.bol = 0
*/
      __pyx_t_4 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_indent(__pyx_v_self); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2931, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":2930
 *                 fix_indent = True
 *                 self.level -= 1
 *         if self.bol:             # <<<<<<<<<<<<<<
 *             self.indent()
 *         self.write(code)
*/
    }

    /* "Cython/Compiler/Code.py":2932
 *         if self.bol:
 *             self.indent()
 *         self.write(code)             # <<<<<<<<<<<<<<
 *         self.bol = 0
 *         if dl > 0:
*/
    __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->write(__pyx_v_self, __pyx_v_code, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2933
 *             self.indent()
 *         self.write(code)
 *         self.bol = 0             # <<<<<<<<<<<<<<
 *         if dl > 0:
 *             self.level += dl
*/
    __pyx_v_self->bol = 0;

    /* "Cython/Compiler/Code.py":2934
 *         self.write(code)
 *         self.bol = 0
 *         if dl > 0:             # <<<<<<<<<<<<<<
 *             self.level += dl
 *         elif fix_indent:
*/
    __pyx_t_7 = (__pyx_v_dl > 0);
    if (__pyx_t_7) {

      /* "Cython/Compiler/Code.py":2935
 *         self.bol = 0
 *         if dl > 0:
 *             self.level += dl             # <<<<<<<<<<<<<<
 *         elif fix_indent:
 *             self.level += 1
*/
      __pyx_v_self->level = (__pyx_v_self->level + __pyx_v_dl);

      /* "Cython/Compiler/Code.py":2934
 *         self.write(code)
 *         self.bol = 0
 *         if dl > 0:             # <<<<<<<<<<<<<<
 *             self.level += dl
 *         elif fix_indent:
*/
      goto __pyx_L8;
    }

    /* "Cython/Compiler/Code.py":2936
 *         if dl > 0:
 *             self.level += dl
 *         elif fix_indent:             # <<<<<<<<<<<<<<
 *             self.level += 1
 * 
*/
    if (__pyx_v_fix_indent) {

      /* "Cython/Compiler/Code.py":2937
 *             self.level += dl
 *         elif fix_indent:
 *             self.level += 1             # <<<<<<<<<<<<<<
 * 
 *     def put_code_here(self, utility: UtilityCode):
*/
      __pyx_v_self->level = (__pyx_v_self->level + 1);

      /* "Cython/Compiler/Code.py":2936
 *         if dl > 0:
 *             self.level += dl
 *         elif fix_indent:             # <<<<<<<<<<<<<<
 *             self.level += 1
 * 
*/
    }
    __pyx_L8:;

    /* "Cython/Compiler/Code.py":2919
 *         self.put(code)
 * 
 *     def put(self, code):             # <<<<<<<<<<<<<<
 *         fix_indent = False
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_112put(PyObject *__pyx_v_self, PyObject *__pyx_v_code); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_112put = {"put", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_112put, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_112put(PyObject *__pyx_v_self, PyObject *__pyx_v_code) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_111put(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_code));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_111put(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_code) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put", 0);
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put(__pyx_v_self, __pyx_v_code, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2939
 *             self.level += 1
 * 
 *     def put_code_here(self, utility: UtilityCode):             # <<<<<<<<<<<<<<
 *         # Puts the impl section of the utility code directly to the current position.
 *         # Ensure we don't have a proto section (but do allow init and cleanup sections
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_114put_code_here(PyObject *__pyx_v_self, PyObject *__pyx_v_utility); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_114put_code_here = {"put_code_here", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_114put_code_here, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_114put_code_here(PyObject *__pyx_v_self, PyObject *__pyx_v_utility) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_code_here (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_utility), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, 0, "utility", 0))) __PYX_ERR(0, 2939, __pyx_L1_error)
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_113put_code_here(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)__pyx_v_utility));

    /* function exit code */
    goto __pyx_L0;
    __pyx_L1_error:;
    __pyx_r = NULL;
    goto __pyx_L5_cleaned_up;
    __pyx_L0:;
    __pyx_L5_cleaned_up:;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_113put_code_here(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *__pyx_v_utility) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_code_here", 0);

    /* "Cython/Compiler/Code.py":2943
 *         # Ensure we don't have a proto section (but do allow init and cleanup sections
 *         # because they might be useful in future).
 *         assert not utility.proto, utility.name             # <<<<<<<<<<<<<<
 *         utility._put_code_section(self, self.globalstate, "impl")
 *         utility._put_init_code_section(self.globalstate)
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_utility->proto); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2943, __pyx_L1_error)
      __pyx_t_2 = (!__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        __pyx_t_3 = PyTuple_Pack(1, __pyx_v_utility->name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2943, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_3, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 2943, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(0, 2943, __pyx_L1_error)
    #endif

    /* "Cython/Compiler/Code.py":2944
 *         # because they might be useful in future).
 *         assert not utility.proto, utility.name
 *         utility._put_code_section(self, self.globalstate, "impl")             # <<<<<<<<<<<<<<
 *         utility._put_init_code_section(self.globalstate)
 *         if utility.cleanup and Options.generate_cleanup_code:
*/
    __pyx_t_4 = ((PyObject *)__pyx_v_utility);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_4, ((PyObject *)__pyx_v_self), __pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_impl};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2944, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2945
 *         assert not utility.proto, utility.name
 *         utility._put_code_section(self, self.globalstate, "impl")
 *         utility._put_init_code_section(self.globalstate)             # <<<<<<<<<<<<<<
 *         if utility.cleanup and Options.generate_cleanup_code:
 *             utility._put_code_section(
*/
    __pyx_t_4 = ((PyObject *)__pyx_v_utility);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self->globalstate};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_init_code_section, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2945, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2946
 *         utility._put_code_section(self, self.globalstate, "impl")
 *         utility._put_init_code_section(self.globalstate)
 *         if utility.cleanup and Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             utility._put_code_section(
 *                 self.globalstate['cleanup_globals'], self.globalstate, "cleanup")
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_utility->cleanup); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2946, __pyx_L1_error)
    if (__pyx_t_1) {
    } else {
      __pyx_t_2 = __pyx_t_1;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_generate_cleanup_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2946, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2 = __pyx_t_1;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":2947
 *         utility._put_init_code_section(self.globalstate)
 *         if utility.cleanup and Options.generate_cleanup_code:
 *             utility._put_code_section(             # <<<<<<<<<<<<<<
 *                 self.globalstate['cleanup_globals'], self.globalstate, "cleanup")
 * 
*/
      __pyx_t_4 = ((PyObject *)__pyx_v_utility);
      __Pyx_INCREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":2948
 *         if utility.cleanup and Options.generate_cleanup_code:
 *             utility._put_code_section(
 *                 self.globalstate['cleanup_globals'], self.globalstate, "cleanup")             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_cleanup_globals); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2948, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_t_6, __pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_cleanup};
        __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2947, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":2946
 *         utility._put_code_section(self, self.globalstate, "impl")
 *         utility._put_init_code_section(self.globalstate)
 *         if utility.cleanup and Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             utility._put_code_section(
 *                 self.globalstate['cleanup_globals'], self.globalstate, "cleanup")
*/
    }

    /* "Cython/Compiler/Code.py":2939
 *             self.level += 1
 * 
 *     def put_code_here(self, utility: UtilityCode):             # <<<<<<<<<<<<<<
 *         # Puts the impl section of the utility code directly to the current position.
 *         # Ensure we don't have a proto section (but do allow init and cleanup sections
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_code_here", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2950
 *                 self.globalstate['cleanup_globals'], self.globalstate, "cleanup")
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def increase_indent(self):
 *         self.level += 1
*/

  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_increase_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("increase_indent", 0);

    /* "Cython/Compiler/Code.py":2952
 *     @cython.final
 *     def increase_indent(self):
 *         self.level += 1             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
    __pyx_v_self->level = (__pyx_v_self->level + 1);

    /* "Cython/Compiler/Code.py":2950
 *                 self.globalstate['cleanup_globals'], self.globalstate, "cleanup")
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def increase_indent(self):
 *         self.level += 1
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2954
 *         self.level += 1
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def decrease_indent(self):
 *         self.level -= 1
*/

  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_decrease_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("decrease_indent", 0);

    /* "Cython/Compiler/Code.py":2956
 *     @cython.final
 *     def decrease_indent(self):
 *         self.level -= 1             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
    __pyx_v_self->level = (__pyx_v_self->level - 1);

    /* "Cython/Compiler/Code.py":2954
 *         self.level += 1
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def decrease_indent(self):
 *         self.level -= 1
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2958
 *         self.level -= 1
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def begin_block(self):
 *         self.putln("{")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_116begin_block(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_116begin_block = {"begin_block", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_116begin_block, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_116begin_block(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("begin_block (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_115begin_block(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_115begin_block(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("begin_block", 0);

    /* "Cython/Compiler/Code.py":2960
 *     @cython.final
 *     def begin_block(self):
 *         self.putln("{")             # <<<<<<<<<<<<<<
 *         self.increase_indent()
 * 
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u__54;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2961
 *     def begin_block(self):
 *         self.putln("{")
 *         self.increase_indent()             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_increase_indent(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2958
 *         self.level -= 1
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def begin_block(self):
 *         self.putln("{")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.begin_block", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2963
 *         self.increase_indent()
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def end_block(self):
 *         self.decrease_indent()
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_118end_block(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_118end_block = {"end_block", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_118end_block, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_118end_block(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("end_block (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_117end_block(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_117end_block(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("end_block", 0);

    /* "Cython/Compiler/Code.py":2965
 *     @cython.final
 *     def end_block(self):
 *         self.decrease_indent()             # <<<<<<<<<<<<<<
 *         self.putln("}")
 * 
*/
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_decrease_indent(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2966
 *     def end_block(self):
 *         self.decrease_indent()
 *         self.putln("}")             # <<<<<<<<<<<<<<
 * 
 *     @cython.final
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u__43;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2963
 *         self.increase_indent()
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def end_block(self):
 *         self.decrease_indent()
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.end_block", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2968
 *         self.putln("}")
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def indent(self):
 *         self._write_to_buffer("  " * self.level)
*/

  static PyObject *__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_indent(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("indent", 0);

    /* "Cython/Compiler/Code.py":2970
 *     @cython.final
 *     def indent(self):
 *         self._write_to_buffer("  " * self.level)             # <<<<<<<<<<<<<<
 * 
 *     def get_py_version_hex(self, pyversion):
*/
    __pyx_t_1 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_u__27, __pyx_v_self->level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->_write_to_buffer(__pyx_v_self, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2968
 *         self.putln("}")
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def indent(self):
 *         self._write_to_buffer("  " * self.level)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.indent", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2972
 *         self._write_to_buffer("  " * self.level)
 * 
 *     def get_py_version_hex(self, pyversion):             # <<<<<<<<<<<<<<
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_120get_py_version_hex(PyObject *__pyx_v_self, PyObject *__pyx_v_pyversion); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_120get_py_version_hex = {"get_py_version_hex", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_120get_py_version_hex, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_120get_py_version_hex(PyObject *__pyx_v_self, PyObject *__pyx_v_pyversion) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("get_py_version_hex (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_119get_py_version_hex(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_pyversion));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_119get_py_version_hex(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pyversion) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("get_py_version_hex", 0);

    /* "Cython/Compiler/Code.py":2973
 * 
 *     def get_py_version_hex(self, pyversion):
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]             # <<<<<<<<<<<<<<
 * 
 *     def put_label(self, lbl):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_v_pyversion); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[21]); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_t_2, 0, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_0x_02X_02X_02X_02X, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":2972
 *         self._write_to_buffer("  " * self.level)
 * 
 *     def get_py_version_hex(self, pyversion):             # <<<<<<<<<<<<<<
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_version_hex", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2975
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
 *     def put_label(self, lbl):             # <<<<<<<<<<<<<<
 *         if lbl in self.funcstate.labels_used:
 *             self.putln("%s:;" % lbl)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_122put_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_122put_label = {"put_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_122put_label, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_122put_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_label (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_121put_label(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_lbl));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_121put_label(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_label", 0);

    /* "Cython/Compiler/Code.py":2976
 * 
 *     def put_label(self, lbl):
 *         if lbl in self.funcstate.labels_used:             # <<<<<<<<<<<<<<
 *             self.putln("%s:;" % lbl)
 * 
*/
    if (unlikely(__pyx_v_self->funcstate->labels_used == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 2976, __pyx_L1_error)
    }
    __pyx_t_1 = (__Pyx_PySet_ContainsTF(__pyx_v_lbl, __pyx_v_self->funcstate->labels_used, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2976, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2977
 *     def put_label(self, lbl):
 *         if lbl in self.funcstate.labels_used:
 *             self.putln("%s:;" % lbl)             # <<<<<<<<<<<<<<
 * 
 *     def put_goto(self, lbl):
*/
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_9, __pyx_v_lbl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4.__pyx_n = 1;
      __pyx_t_4.code = __pyx_t_2;
      __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":2976
 * 
 *     def put_label(self, lbl):
 *         if lbl in self.funcstate.labels_used:             # <<<<<<<<<<<<<<
 *             self.putln("%s:;" % lbl)
 * 
*/
    }

    /* "Cython/Compiler/Code.py":2975
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
 *     def put_label(self, lbl):             # <<<<<<<<<<<<<<
 *         if lbl in self.funcstate.labels_used:
 *             self.putln("%s:;" % lbl)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2979
 *             self.putln("%s:;" % lbl)
 * 
 *     def put_goto(self, lbl):             # <<<<<<<<<<<<<<
 *         self.funcstate.use_label(lbl)
 *         self.putln("goto %s;" % lbl)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_124put_goto(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_124put_goto = {"put_goto", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_124put_goto, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_124put_goto(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_goto (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_123put_goto(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_lbl));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_123put_goto(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_lbl) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_goto", 0);

    /* "Cython/Compiler/Code.py":2980
 * 
 *     def put_goto(self, lbl):
 *         self.funcstate.use_label(lbl)             # <<<<<<<<<<<<<<
 *         self.putln("goto %s;" % lbl)
 * 
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self->funcstate);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_label, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2980, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2981
 *     def put_goto(self, lbl):
 *         self.funcstate.use_label(lbl)
 *         self.putln("goto %s;" % lbl)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_declaration(self, entry, storage_class="",
*/
    __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_goto_s, __pyx_v_lbl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_t_1;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2979
 *             self.putln("%s:;" % lbl)
 * 
 *     def put_goto(self, lbl):             # <<<<<<<<<<<<<<
 *         self.funcstate.use_label(lbl)
 *         self.putln("goto %s;" % lbl)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_goto", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":2983
 *         self.putln("goto %s;" % lbl)
 * 
 *     def put_var_declaration(self, entry, storage_class="",             # <<<<<<<<<<<<<<
 *                             dll_linkage=None, definition=True):
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_declaration(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_declaration = {"put_var_declaration", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_declaration, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_declaration(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_storage_class = 0;
    PyObject *__pyx_v_dll_linkage = 0;
    PyObject *__pyx_v_definition = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[4] = {0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_declaration (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,&__pyx_mstate_global->__pyx_n_u_storage_class,&__pyx_mstate_global->__pyx_n_u_dll_linkage,&__pyx_mstate_global->__pyx_n_u_definition,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 2983, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2983, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2983, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2983, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2983, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_var_declaration", 0) < (0)) __PYX_ERR(0, 2983, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));

        /* "Cython/Compiler/Code.py":2984
 * 
 *     def put_var_declaration(self, entry, storage_class="",
 *                             dll_linkage=None, definition=True):             # <<<<<<<<<<<<<<
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
 *         if entry.visibility == 'private' and not (definition or entry.defined_in_pxd):
*/
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_declaration", 0, 1, 4, i); __PYX_ERR(0, 2983, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 2983, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 2983, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 2983, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 2983, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__9));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_entry = values[0];
      __pyx_v_storage_class = values[1];
      __pyx_v_dll_linkage = values[2];
      __pyx_v_definition = values[3];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_declaration", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 2983, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_declaration", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_125put_var_declaration(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_storage_class, __pyx_v_dll_linkage, __pyx_v_definition);

    /* "Cython/Compiler/Code.py":2983
 *         self.putln("goto %s;" % lbl)
 * 
 *     def put_var_declaration(self, entry, storage_class="",             # <<<<<<<<<<<<<<
 *                             dll_linkage=None, definition=True):
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
*/

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_125put_var_declaration(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_storage_class, PyObject *__pyx_v_dll_linkage, PyObject *__pyx_v_definition) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    int __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    size_t __pyx_t_8;
    PyObject *__pyx_t_9 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_10;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_declaration", 0);

    /* "Cython/Compiler/Code.py":2986
 *                             dll_linkage=None, definition=True):
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
 *         if entry.visibility == 'private' and not (definition or entry.defined_in_pxd):             # <<<<<<<<<<<<<<
 *             #print "...private and not definition, skipping", entry.cname ###
 *             return
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_visibility); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_private, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 2986, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_3) {
    } else {
      __pyx_t_1 = __pyx_t_3;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_definition); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 2986, __pyx_L1_error)
    if (!__pyx_t_4) {
    } else {
      __pyx_t_3 = __pyx_t_4;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_defined_in_pxd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 2986, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = __pyx_t_4;
    __pyx_L6_bool_binop_done:;
    __pyx_t_4 = (!__pyx_t_3);
    __pyx_t_1 = __pyx_t_4;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2988
 *         if entry.visibility == 'private' and not (definition or entry.defined_in_pxd):
 *             #print "...private and not definition, skipping", entry.cname ###
 *             return             # <<<<<<<<<<<<<<
 *         if entry.visibility == "private" and not entry.used:
 *             #print "...private and not used, skipping", entry.cname ###
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":2986
 *                             dll_linkage=None, definition=True):
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
 *         if entry.visibility == 'private' and not (definition or entry.defined_in_pxd):             # <<<<<<<<<<<<<<
 *             #print "...private and not definition, skipping", entry.cname ###
 *             return
*/
    }

    /* "Cython/Compiler/Code.py":2989
 *             #print "...private and not definition, skipping", entry.cname ###
 *             return
 *         if entry.visibility == "private" and not entry.used:             # <<<<<<<<<<<<<<
 *             #print "...private and not used, skipping", entry.cname ###
 *             return
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_visibility); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_private, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 2989, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_4) {
    } else {
      __pyx_t_1 = __pyx_t_4;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 2989, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = (!__pyx_t_4);
    __pyx_t_1 = __pyx_t_3;
    __pyx_L9_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":2991
 *         if entry.visibility == "private" and not entry.used:
 *             #print "...private and not used, skipping", entry.cname ###
 *             return             # <<<<<<<<<<<<<<
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":2989
 *             #print "...private and not definition, skipping", entry.cname ###
 *             return
 *         if entry.visibility == "private" and not entry.used:             # <<<<<<<<<<<<<<
 *             #print "...private and not used, skipping", entry.cname ###
 *             return
*/
    }

    /* "Cython/Compiler/Code.py":2992
 *             #print "...private and not used, skipping", entry.cname ###
 *             return
 *         if not entry.cf_used:             # <<<<<<<<<<<<<<
 *             self.put('CYTHON_UNUSED ')
 *         if storage_class:
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cf_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2992, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2992, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = (!__pyx_t_1);
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":2993
 *             return
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')             # <<<<<<<<<<<<<<
 *         if storage_class:
 *             self.put("%s " % storage_class)
*/
      __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2993, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":2992
 *             #print "...private and not used, skipping", entry.cname ###
 *             return
 *         if not entry.cf_used:             # <<<<<<<<<<<<<<
 *             self.put('CYTHON_UNUSED ')
 *         if storage_class:
*/
    }

    /* "Cython/Compiler/Code.py":2994
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')
 *         if storage_class:             # <<<<<<<<<<<<<<
 *             self.put("%s " % storage_class)
 *         if entry.is_cpp_optional:
*/
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_storage_class); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 2994, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":2995
 *             self.put('CYTHON_UNUSED ')
 *         if storage_class:
 *             self.put("%s " % storage_class)             # <<<<<<<<<<<<<<
 *         if entry.is_cpp_optional:
 *             self.put(entry.type.cpp_optional_declaration_code(
*/
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_10, __pyx_v_storage_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_t_2, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":2994
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')
 *         if storage_class:             # <<<<<<<<<<<<<<
 *             self.put("%s " % storage_class)
 *         if entry.is_cpp_optional:
*/
    }

    /* "Cython/Compiler/Code.py":2996
 *         if storage_class:
 *             self.put("%s " % storage_class)
 *         if entry.is_cpp_optional:             # <<<<<<<<<<<<<<
 *             self.put(entry.type.cpp_optional_declaration_code(
 *                 entry.cname, dll_linkage=dll_linkage))
*/
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_cpp_optional); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 2996, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":2997
 *             self.put("%s " % storage_class)
 *         if entry.is_cpp_optional:
 *             self.put(entry.type.cpp_optional_declaration_code(             # <<<<<<<<<<<<<<
 *                 entry.cname, dll_linkage=dll_linkage))
 *         else:
*/
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2997, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_2 = __pyx_t_6;
      __Pyx_INCREF(__pyx_t_2);

      /* "Cython/Compiler/Code.py":2998
 *         if entry.is_cpp_optional:
 *             self.put(entry.type.cpp_optional_declaration_code(
 *                 entry.cname, dll_linkage=dll_linkage))             # <<<<<<<<<<<<<<
 *         else:
 *             self.put(entry.type.declaration_code(
*/
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2998, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2997, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dll_linkage, __pyx_v_dll_linkage, __pyx_t_9, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 2997, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_cpp_optional_declaration_code, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2997, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }

      /* "Cython/Compiler/Code.py":2997
 *             self.put("%s " % storage_class)
 *         if entry.is_cpp_optional:
 *             self.put(entry.type.cpp_optional_declaration_code(             # <<<<<<<<<<<<<<
 *                 entry.cname, dll_linkage=dll_linkage))
 *         else:
*/
      __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_t_5, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2997, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":2996
 *         if storage_class:
 *             self.put("%s " % storage_class)
 *         if entry.is_cpp_optional:             # <<<<<<<<<<<<<<
 *             self.put(entry.type.cpp_optional_declaration_code(
 *                 entry.cname, dll_linkage=dll_linkage))
*/
      goto __pyx_L13;
    }

    /* "Cython/Compiler/Code.py":3000
 *                 entry.cname, dll_linkage=dll_linkage))
 *         else:
 *             self.put(entry.type.declaration_code(             # <<<<<<<<<<<<<<
 *                 entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:
*/
    /*else*/ {
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3000, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_5 = __pyx_t_9;
      __Pyx_INCREF(__pyx_t_5);

      /* "Cython/Compiler/Code.py":3001
 *         else:
 *             self.put(entry.type.declaration_code(
 *                 entry.cname, dll_linkage=dll_linkage))             # <<<<<<<<<<<<<<
 *         if entry.init is not None:
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
*/
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_t_7};
        __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3000, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dll_linkage, __pyx_v_dll_linkage, __pyx_t_2, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 3000, __pyx_L1_error)
        __pyx_t_6 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_declaration_code, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3000, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }

      /* "Cython/Compiler/Code.py":3000
 *                 entry.cname, dll_linkage=dll_linkage))
 *         else:
 *             self.put(entry.type.declaration_code(             # <<<<<<<<<<<<<<
 *                 entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:
*/
      __pyx_t_9 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_t_6, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3000, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __pyx_L13:;

    /* "Cython/Compiler/Code.py":3002
 *             self.put(entry.type.declaration_code(
 *                 entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:             # <<<<<<<<<<<<<<
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
 *         elif entry.type.is_pyobject:
*/
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_init); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = (__pyx_t_9 != Py_None);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":3003
 *                 entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))             # <<<<<<<<<<<<<<
 *         elif entry.type.is_pyobject:
 *             self.put(" = NULL")
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3003, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = __pyx_t_2;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_init); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3003, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
        __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_literal_code, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3003, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
      }
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_11, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3003, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put_safe(__pyx_v_self, __pyx_t_2, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3003, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "Cython/Compiler/Code.py":3002
 *             self.put(entry.type.declaration_code(
 *                 entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:             # <<<<<<<<<<<<<<
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
 *         elif entry.type.is_pyobject:
*/
      goto __pyx_L14;
    }

    /* "Cython/Compiler/Code.py":3004
 *         if entry.init is not None:
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
 *         elif entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.put(" = NULL")
 *         self.putln(";")
*/
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3004, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":3005
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
 *         elif entry.type.is_pyobject:
 *             self.put(" = NULL")             # <<<<<<<<<<<<<<
 *         self.putln(";")
 *         self.globalstate.use_entry_utility_code(entry)
*/
      __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_mstate_global->__pyx_kp_u_NULL, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3005, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3004
 *         if entry.init is not None:
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
 *         elif entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.put(" = NULL")
 *         self.putln(";")
*/
    }
    __pyx_L14:;

    /* "Cython/Compiler/Code.py":3006
 *         elif entry.type.is_pyobject:
 *             self.put(" = NULL")
 *         self.putln(";")             # <<<<<<<<<<<<<<
 *         self.globalstate.use_entry_utility_code(entry)
 * 
*/
    __pyx_t_10.__pyx_n = 1;
    __pyx_t_10.code = __pyx_mstate_global->__pyx_kp_u__49;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3007
 *             self.put(" = NULL")
 *         self.putln(";")
 *         self.globalstate.use_entry_utility_code(entry)             # <<<<<<<<<<<<<<
 * 
 *     def put_temp_declarations(self, func_context: FunctionState):
*/
    __pyx_t_9 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_entry};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_entry_utility_code, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2983
 *         self.putln("goto %s;" % lbl)
 * 
 *     def put_var_declaration(self, entry, storage_class="",             # <<<<<<<<<<<<<<
 *                             dll_linkage=None, definition=True):
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_9);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_declaration", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3009
 *         self.globalstate.use_entry_utility_code(entry)
 * 
 *     def put_temp_declarations(self, func_context: FunctionState):             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_128put_temp_declarations(PyObject *__pyx_v_self, PyObject *__pyx_v_func_context); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_128put_temp_declarations = {"put_temp_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_128put_temp_declarations, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_128put_temp_declarations(PyObject *__pyx_v_self, PyObject *__pyx_v_func_context) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_temp_declarations (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_func_context), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, 0, "func_context", 0))) __PYX_ERR(0, 3009, __pyx_L1_error)
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_127put_temp_declarations(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_func_context));

    /* function exit code */
    goto __pyx_L0;
    __pyx_L1_error:;
    __pyx_r = NULL;
    goto __pyx_L5_cleaned_up;
    __pyx_L0:;
    __pyx_L5_cleaned_up:;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_127put_temp_declarations(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_func_context) {
    PyObject *__pyx_v_name = NULL;
    PyObject *__pyx_v_type = NULL;
    CYTHON_UNUSED PyObject *__pyx_v_manage_ref = NULL;
    PyObject *__pyx_v_static = NULL;
    PyObject *__pyx_v_decl = NULL;
    PyObject *__pyx_v_unused = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    Py_ssize_t __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    PyObject *(*__pyx_t_9)(PyObject *);
    int __pyx_t_10;
    int __pyx_t_11;
    int __pyx_t_12;
    size_t __pyx_t_13;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_14;
    PyObject *__pyx_t_15[4];
    PyObject *__pyx_t_16[3];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_temp_declarations", 0);

    /* "Cython/Compiler/Code.py":3010
 * 
 *     def put_temp_declarations(self, func_context: FunctionState):
 *         for name, type, manage_ref, static in func_context.temps_allocated:             # <<<<<<<<<<<<<<
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:
 *                 decl = type.cpp_optional_declaration_code(name)
*/
    if (unlikely(__pyx_v_func_context->temps_allocated == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 3010, __pyx_L1_error)
    }
    __pyx_t_1 = __pyx_v_func_context->temps_allocated; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3010, __pyx_L1_error)
        #endif
        if (__pyx_t_2 >= __pyx_temp) break;
      }
      __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_2;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3010, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
        PyObject* sequence = __pyx_t_3;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 4)) {
          if (size > 4) __Pyx_RaiseTooManyValuesError(4);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 3010, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_4);
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_5);
          __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2);
          __Pyx_INCREF(__pyx_t_6);
          __pyx_t_7 = PyTuple_GET_ITEM(sequence, 3);
          __Pyx_INCREF(__pyx_t_7);
        } else {
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3010, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_4);
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3010, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyList_GetItemRefFast(sequence, 2, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3010, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 3, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3010, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_7);
        }
        #else
        {
          Py_ssize_t i;
          PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_5,&__pyx_t_6,&__pyx_t_7};
          for (i=0; i < 4; i++) {
            PyObject* item = __Pyx_PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 3010, __pyx_L1_error)
            __Pyx_GOTREF(item);
            *(temps[i]) = item;
          }
        }
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_5,&__pyx_t_6,&__pyx_t_7};
        __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3010, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8);
        for (index=0; index < 4; index++) {
          PyObject* item = __pyx_t_9(__pyx_t_8); if (unlikely(!item)) goto __pyx_L5_unpacking_failed;
          __Pyx_GOTREF(item);
          *(temps[index]) = item;
        }
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 4) < (0)) __PYX_ERR(0, 3010, __pyx_L1_error)
        __pyx_t_9 = NULL;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L6_unpacking_done;
        __pyx_L5_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_9 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 3010, __pyx_L1_error)
        __pyx_L6_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_v_manage_ref, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_v_static, __pyx_t_7);
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":3011
 *     def put_temp_declarations(self, func_context: FunctionState):
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:             # <<<<<<<<<<<<<<
 *                 decl = type.cpp_optional_declaration_code(name)
 *             else:
*/
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_cpp_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 3011, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (__pyx_t_11) {
      } else {
        __pyx_t_10 = __pyx_t_11;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_fake_reference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 3011, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_12 = (!__pyx_t_11);
      if (__pyx_t_12) {
      } else {
        __pyx_t_10 = __pyx_t_12;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_func_context->scope, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cpp_locals); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 3011, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_10 = __pyx_t_12;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_10) {

        /* "Cython/Compiler/Code.py":3012
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:
 *                 decl = type.cpp_optional_declaration_code(name)             # <<<<<<<<<<<<<<
 *             else:
 *                 decl = type.declaration_code(name)
*/
        __pyx_t_3 = __pyx_v_type;
        __Pyx_INCREF(__pyx_t_3);
        __pyx_t_13 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name};
          __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cpp_optional_declaration_code, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3012, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
        }
        __Pyx_XDECREF_SET(__pyx_v_decl, __pyx_t_7);
        __pyx_t_7 = 0;

        /* "Cython/Compiler/Code.py":3011
 *     def put_temp_declarations(self, func_context: FunctionState):
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:             # <<<<<<<<<<<<<<
 *                 decl = type.cpp_optional_declaration_code(name)
 *             else:
*/
        goto __pyx_L7;
      }

      /* "Cython/Compiler/Code.py":3014
 *                 decl = type.cpp_optional_declaration_code(name)
 *             else:
 *                 decl = type.declaration_code(name)             # <<<<<<<<<<<<<<
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)
*/
      /*else*/ {
        __pyx_t_3 = __pyx_v_type;
        __Pyx_INCREF(__pyx_t_3);
        __pyx_t_13 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name};
          __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_declaration_code, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3014, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
        }
        __Pyx_XDECREF_SET(__pyx_v_decl, __pyx_t_7);
        __pyx_t_7 = 0;
      }
      __pyx_L7:;

      /* "Cython/Compiler/Code.py":3015
 *             else:
 *                 decl = type.declaration_code(name)
 *             if type.is_pyobject:             # <<<<<<<<<<<<<<
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:
*/
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_pyobject); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 3015, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (__pyx_t_10) {

        /* "Cython/Compiler/Code.py":3016
 *                 decl = type.declaration_code(name)
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)             # <<<<<<<<<<<<<<
 *             elif type.is_memoryviewslice:
 *                 self.putln("%s = %s;" % (decl, type.literal_code(type.default_value)))
*/
        __pyx_t_7 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_NULL, __pyx_v_decl); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3016, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_14.__pyx_n = 1;
        __pyx_t_14.code = __pyx_t_7;
        __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3016, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":3015
 *             else:
 *                 decl = type.declaration_code(name)
 *             if type.is_pyobject:             # <<<<<<<<<<<<<<
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:
*/
        goto __pyx_L11;
      }

      /* "Cython/Compiler/Code.py":3017
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *                 self.putln("%s = %s;" % (decl, type.literal_code(type.default_value)))
 *             else:
*/
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_is_memoryviewslice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 3017, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (__pyx_t_10) {

        /* "Cython/Compiler/Code.py":3018
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:
 *                 self.putln("%s = %s;" % (decl, type.literal_code(type.default_value)))             # <<<<<<<<<<<<<<
 *             else:
 *                 self.putln("%s%s;" % (static and "static " or "", decl))
*/
        __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_decl), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3018, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_literal_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3018, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_mstate_global->__pyx_n_u_default_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3018, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3018, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_5), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3018, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_15[0] = __pyx_t_3;
        __pyx_t_15[1] = __pyx_mstate_global->__pyx_kp_u__69;
        __pyx_t_15[2] = __pyx_t_6;
        __pyx_t_15[3] = __pyx_mstate_global->__pyx_kp_u__49;
        __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_15, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3018, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_14.__pyx_n = 1;
        __pyx_t_14.code = __pyx_t_5;
        __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3018, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":3017
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *                 self.putln("%s = %s;" % (decl, type.literal_code(type.default_value)))
 *             else:
*/
        goto __pyx_L11;
      }

      /* "Cython/Compiler/Code.py":3020
 *                 self.putln("%s = %s;" % (decl, type.literal_code(type.default_value)))
 *             else:
 *                 self.putln("%s%s;" % (static and "static " or "", decl))             # <<<<<<<<<<<<<<
 * 
 *         if func_context.should_declare_error_indicator:
*/
      /*else*/ {
        __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_static); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 3020, __pyx_L1_error)
        if (!__pyx_t_10) {
          goto __pyx_L13_next_or;
        } else {
        }
        __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_mstate_global->__pyx_kp_u_static); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 3020, __pyx_L1_error)
        if (!__pyx_t_10) {
        } else {
          __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_static);
          __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u_static;
          goto __pyx_L12_bool_binop_done;
        }
        __pyx_L13_next_or:;
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
        __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u__9;
        __pyx_L12_bool_binop_done:;
        __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_6), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3020, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_decl), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3020, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_16[0] = __pyx_t_5;
        __pyx_t_16[1] = __pyx_t_6;
        __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u__49;
        __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_16, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3020, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_14.__pyx_n = 1;
        __pyx_t_14.code = __pyx_t_3;
        __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3020, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
      __pyx_L11:;

      /* "Cython/Compiler/Code.py":3010
 * 
 *     def put_temp_declarations(self, func_context: FunctionState):
 *         for name, type, manage_ref, static in func_context.temps_allocated:             # <<<<<<<<<<<<<<
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:
 *                 decl = type.cpp_optional_declaration_code(name)
*/
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3022
 *                 self.putln("%s%s;" % (static and "static " or "", decl))
 * 
 *         if func_context.should_declare_error_indicator:             # <<<<<<<<<<<<<<
 *             if self.funcstate.uses_error_indicator:
 *                 unused = ''
*/
    if (__pyx_v_func_context->should_declare_error_indicator) {

      /* "Cython/Compiler/Code.py":3023
 * 
 *         if func_context.should_declare_error_indicator:
 *             if self.funcstate.uses_error_indicator:             # <<<<<<<<<<<<<<
 *                 unused = ''
 *             else:
*/
      if (__pyx_v_self->funcstate->uses_error_indicator) {

        /* "Cython/Compiler/Code.py":3024
 *         if func_context.should_declare_error_indicator:
 *             if self.funcstate.uses_error_indicator:
 *                 unused = ''             # <<<<<<<<<<<<<<
 *             else:
 *                 unused = 'CYTHON_UNUSED '
*/
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
        __pyx_v_unused = __pyx_mstate_global->__pyx_kp_u__9;

        /* "Cython/Compiler/Code.py":3023
 * 
 *         if func_context.should_declare_error_indicator:
 *             if self.funcstate.uses_error_indicator:             # <<<<<<<<<<<<<<
 *                 unused = ''
 *             else:
*/
        goto __pyx_L17;
      }

      /* "Cython/Compiler/Code.py":3026
 *                 unused = ''
 *             else:
 *                 unused = 'CYTHON_UNUSED '             # <<<<<<<<<<<<<<
 *             # Initialize these variables to silence compiler warnings
 *             self.putln("%sint %s = 0;" % (unused, Naming.lineno_cname))
*/
      /*else*/ {
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED);
        __pyx_v_unused = __pyx_mstate_global->__pyx_kp_u_CYTHON_UNUSED;
      }
      __pyx_L17:;

      /* "Cython/Compiler/Code.py":3028
 *                 unused = 'CYTHON_UNUSED '
 *             # Initialize these variables to silence compiler warnings
 *             self.putln("%sint %s = 0;" % (unused, Naming.lineno_cname))             # <<<<<<<<<<<<<<
 *             self.putln("%sconst char *%s = NULL;" % (unused, Naming.filename_cname))
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_lineno_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3028, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3028, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_15[0] = __pyx_v_unused;
      __pyx_t_15[1] = __pyx_mstate_global->__pyx_kp_u_int_2;
      __pyx_t_15[2] = __pyx_t_6;
      __pyx_t_15[3] = __pyx_mstate_global->__pyx_kp_u_0_2;
      __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_15, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_v_unused) + 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 5, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_unused) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3028, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_14.__pyx_n = 1;
      __pyx_t_14.code = __pyx_t_1;
      __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3028, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":3029
 *             # Initialize these variables to silence compiler warnings
 *             self.putln("%sint %s = 0;" % (unused, Naming.lineno_cname))
 *             self.putln("%sconst char *%s = NULL;" % (unused, Naming.filename_cname))             # <<<<<<<<<<<<<<
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
*/
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_filename_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3029, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_6), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3029, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_15[0] = __pyx_v_unused;
      __pyx_t_15[1] = __pyx_mstate_global->__pyx_kp_u_const_char;
      __pyx_t_15[2] = __pyx_t_1;
      __pyx_t_15[3] = __pyx_mstate_global->__pyx_kp_u_NULL_2;
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_15, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_v_unused) + 12 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_unused) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3029, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_14.__pyx_n = 1;
      __pyx_t_14.code = __pyx_t_6;
      __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3029, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3030
 *             self.putln("%sint %s = 0;" % (unused, Naming.lineno_cname))
 *             self.putln("%sconst char *%s = NULL;" % (unused, Naming.filename_cname))
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))             # <<<<<<<<<<<<<<
 * 
 *     def put_generated_by(self):
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_clineno_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_15[0] = __pyx_v_unused;
      __pyx_t_15[1] = __pyx_mstate_global->__pyx_kp_u_int_2;
      __pyx_t_15[2] = __pyx_t_6;
      __pyx_t_15[3] = __pyx_mstate_global->__pyx_kp_u_0_2;
      __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_15, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_v_unused) + 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 5, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_unused) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_14.__pyx_n = 1;
      __pyx_t_14.code = __pyx_t_1;
      __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3030, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":3022
 *                 self.putln("%s%s;" % (static and "static " or "", decl))
 * 
 *         if func_context.should_declare_error_indicator:             # <<<<<<<<<<<<<<
 *             if self.funcstate.uses_error_indicator:
 *                 unused = ''
*/
    }

    /* "Cython/Compiler/Code.py":3009
 *         self.globalstate.use_entry_utility_code(entry)
 * 
 *     def put_temp_declarations(self, func_context: FunctionState):             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_temp_declarations", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_name);
    __Pyx_XDECREF(__pyx_v_type);
    __Pyx_XDECREF(__pyx_v_manage_ref);
    __Pyx_XDECREF(__pyx_v_static);
    __Pyx_XDECREF(__pyx_v_decl);
    __Pyx_XDECREF(__pyx_v_unused);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3032
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
 *     def put_generated_by(self):             # <<<<<<<<<<<<<<
 *         self.putln(Utils.GENERATED_BY_MARKER)
 *         self.putln("")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_130put_generated_by(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_130put_generated_by = {"put_generated_by", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_130put_generated_by, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_130put_generated_by(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_generated_by (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_129put_generated_by(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_129put_generated_by(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_generated_by", 0);

    /* "Cython/Compiler/Code.py":3033
 * 
 *     def put_generated_by(self):
 *         self.putln(Utils.GENERATED_BY_MARKER)             # <<<<<<<<<<<<<<
 *         self.putln("")
 * 
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Utils, __pyx_mstate_global->__pyx_n_u_GENERATED_BY_MARKER); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_t_1;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3034
 *     def put_generated_by(self):
 *         self.putln(Utils.GENERATED_BY_MARKER)
 *         self.putln("")             # <<<<<<<<<<<<<<
 * 
 *     def put_h_guard(self, guard):
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u__9;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3032
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
 *     def put_generated_by(self):             # <<<<<<<<<<<<<<
 *         self.putln(Utils.GENERATED_BY_MARKER)
 *         self.putln("")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_generated_by", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3036
 *         self.putln("")
 * 
 *     def put_h_guard(self, guard):             # <<<<<<<<<<<<<<
 *         self.putln("#ifndef %s" % guard)
 *         self.putln("#define %s" % guard)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_132put_h_guard(PyObject *__pyx_v_self, PyObject *__pyx_v_guard); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_132put_h_guard = {"put_h_guard", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_132put_h_guard, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_132put_h_guard(PyObject *__pyx_v_self, PyObject *__pyx_v_guard) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_h_guard (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_131put_h_guard(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_guard));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_131put_h_guard(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_guard) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_h_guard", 0);

    /* "Cython/Compiler/Code.py":3037
 * 
 *     def put_h_guard(self, guard):
 *         self.putln("#ifndef %s" % guard)             # <<<<<<<<<<<<<<
 *         self.putln("#define %s" % guard)
 * 
*/
    __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_ifndef_s, __pyx_v_guard); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_t_1;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3038
 *     def put_h_guard(self, guard):
 *         self.putln("#ifndef %s" % guard)
 *         self.putln("#define %s" % guard)             # <<<<<<<<<<<<<<
 * 
 *     def unlikely(self, cond):
*/
    __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_define_s, __pyx_v_guard); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_t_2;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3036
 *         self.putln("")
 * 
 *     def put_h_guard(self, guard):             # <<<<<<<<<<<<<<
 *         self.putln("#ifndef %s" % guard)
 *         self.putln("#define %s" % guard)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_h_guard", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3040
 *         self.putln("#define %s" % guard)
 * 
 *     def unlikely(self, cond):             # <<<<<<<<<<<<<<
 *         if Options.gcc_branch_hints:
 *             return 'unlikely(%s)' % cond
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_134unlikely(PyObject *__pyx_v_self, PyObject *__pyx_v_cond); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_134unlikely = {"unlikely", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_134unlikely, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_134unlikely(PyObject *__pyx_v_self, PyObject *__pyx_v_cond) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("unlikely (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_133unlikely(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_cond));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_133unlikely(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("unlikely", 0);

    /* "Cython/Compiler/Code.py":3041
 * 
 *     def unlikely(self, cond):
 *         if Options.gcc_branch_hints:             # <<<<<<<<<<<<<<
 *             return 'unlikely(%s)' % cond
 *         else:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_mstate_global->__pyx_n_u_gcc_branch_hints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3041, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3042
 *     def unlikely(self, cond):
 *         if Options.gcc_branch_hints:
 *             return 'unlikely(%s)' % cond             # <<<<<<<<<<<<<<
 *         else:
 *             return cond
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_unlikely_s, __pyx_v_cond); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":3041
 * 
 *     def unlikely(self, cond):
 *         if Options.gcc_branch_hints:             # <<<<<<<<<<<<<<
 *             return 'unlikely(%s)' % cond
 *         else:
*/
    }

    /* "Cython/Compiler/Code.py":3044
 *             return 'unlikely(%s)' % cond
 *         else:
 *             return cond             # <<<<<<<<<<<<<<
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):
*/
    /*else*/ {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_cond);
      __pyx_r = __pyx_v_cond;
      goto __pyx_L0;
    }

    /* "Cython/Compiler/Code.py":3040
 *         self.putln("#define %s" % guard)
 * 
 *     def unlikely(self, cond):             # <<<<<<<<<<<<<<
 *         if Options.gcc_branch_hints:
 *             return 'unlikely(%s)' % cond
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.unlikely", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3046
 *             return cond
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):             # <<<<<<<<<<<<<<
 *         if not modifiers:
 *             return ''
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_136build_function_modifiers(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_136build_function_modifiers = {"build_function_modifiers", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_136build_function_modifiers, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_136build_function_modifiers(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_modifiers = 0;
    PyObject *__pyx_v_mapper = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("build_function_modifiers (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_modifiers,&__pyx_mstate_global->__pyx_n_u_mapper,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3046, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3046, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3046, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "build_function_modifiers", 0) < (0)) __PYX_ERR(0, 3046, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__70);
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("build_function_modifiers", 0, 1, 2, i); __PYX_ERR(0, 3046, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3046, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3046, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__70);
      }
      __pyx_v_modifiers = values[0];
      __pyx_v_mapper = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("build_function_modifiers", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3046, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.build_function_modifiers", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_135build_function_modifiers(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_modifiers, __pyx_v_mapper);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_135build_function_modifiers(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_modifiers, PyObject *__pyx_v_mapper) {
    PyObject *__pyx_9genexpr17__pyx_v_m = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    Py_ssize_t __pyx_t_5;
    PyObject *(*__pyx_t_6)(PyObject *);
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    PyObject *__pyx_t_9 = NULL;
    size_t __pyx_t_10;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("build_function_modifiers", 0);

    /* "Cython/Compiler/Code.py":3047
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):
 *         if not modifiers:             # <<<<<<<<<<<<<<
 *             return ''
 *         return '%s ' % ' '.join([mapper(m,m) for m in modifiers])
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_modifiers); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3047, __pyx_L1_error)
    __pyx_t_2 = (!__pyx_t_1);
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3048
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):
 *         if not modifiers:
 *             return ''             # <<<<<<<<<<<<<<
 *         return '%s ' % ' '.join([mapper(m,m) for m in modifiers])
 * 
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
      __pyx_r = __pyx_mstate_global->__pyx_kp_u__9;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":3047
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):
 *         if not modifiers:             # <<<<<<<<<<<<<<
 *             return ''
 *         return '%s ' % ' '.join([mapper(m,m) for m in modifiers])
*/
    }

    /* "Cython/Compiler/Code.py":3049
 *         if not modifiers:
 *             return ''
 *         return '%s ' % ' '.join([mapper(m,m) for m in modifiers])             # <<<<<<<<<<<<<<
 * 
 *     # Python objects and reference counting
*/
    __Pyx_XDECREF(__pyx_r);
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3049, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (likely(PyList_CheckExact(__pyx_v_modifiers)) || PyTuple_CheckExact(__pyx_v_modifiers)) {
        __pyx_t_4 = __pyx_v_modifiers; __Pyx_INCREF(__pyx_t_4);
        __pyx_t_5 = 0;
        __pyx_t_6 = NULL;
      } else {
        __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_modifiers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3049, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3049, __pyx_L6_error)
      }
      for (;;) {
        if (likely(!__pyx_t_6)) {
          if (likely(PyList_CheckExact(__pyx_t_4))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3049, __pyx_L6_error)
              #endif
              if (__pyx_t_5 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_5;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3049, __pyx_L6_error)
              #endif
              if (__pyx_t_5 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_7 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5));
            #else
            __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_5);
            #endif
            ++__pyx_t_5;
          }
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3049, __pyx_L6_error)
        } else {
          __pyx_t_7 = __pyx_t_6(__pyx_t_4);
          if (unlikely(!__pyx_t_7)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 3049, __pyx_L6_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_XDECREF_SET(__pyx_9genexpr17__pyx_v_m, __pyx_t_7);
        __pyx_t_7 = 0;
        __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_v_mapper);
        __pyx_t_9 = __pyx_v_mapper; 
        __pyx_t_10 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_9))) {
          __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
          assert(__pyx_t_8);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
          __pyx_t_10 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_9genexpr17__pyx_v_m, __pyx_9genexpr17__pyx_v_m};
          __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_10, (3-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3049, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 3049, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_m); __pyx_9genexpr17__pyx_v_m = 0;
      goto __pyx_L10_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_m); __pyx_9genexpr17__pyx_v_m = 0;
      goto __pyx_L1_error;
      __pyx_L10_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__21, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_s_10, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3046
 *             return cond
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):             # <<<<<<<<<<<<<<
 *         if not modifiers:
 *             return ''
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.build_function_modifiers", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_m);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3053
 *     # Python objects and reference counting
 * 
 *     def entry_as_pyobject(self, entry):             # <<<<<<<<<<<<<<
 *         type = entry.type
 *         if (not entry.is_self_arg and not entry.type.is_complete()
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_138entry_as_pyobject(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_138entry_as_pyobject = {"entry_as_pyobject", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_138entry_as_pyobject, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_138entry_as_pyobject(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("entry_as_pyobject (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_137entry_as_pyobject(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entry));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_137entry_as_pyobject(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry) {
    CYTHON_UNUSED PyObject *__pyx_v_type = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    int __pyx_t_3;
    int __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("entry_as_pyobject", 0);

    /* "Cython/Compiler/Code.py":3054
 * 
 *     def entry_as_pyobject(self, entry):
 *         type = entry.type             # <<<<<<<<<<<<<<
 *         if (not entry.is_self_arg and not entry.type.is_complete()
 *                 or entry.type.is_extension_type):
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_type = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3055
 *     def entry_as_pyobject(self, entry):
 *         type = entry.type
 *         if (not entry.is_self_arg and not entry.type.is_complete()             # <<<<<<<<<<<<<<
 *                 or entry.type.is_extension_type):
 *             return "(PyObject *)" + entry.cname
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_self_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3055, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = (!__pyx_t_3);
    if (!__pyx_t_4) {
      goto __pyx_L5_next_or;
    } else {
    }
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_is_complete, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3055, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3055, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = (!__pyx_t_4);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_L5_next_or:;

    /* "Cython/Compiler/Code.py":3056
 *         type = entry.type
 *         if (not entry.is_self_arg and not entry.type.is_complete()
 *                 or entry.type.is_extension_type):             # <<<<<<<<<<<<<<
 *             return "(PyObject *)" + entry.cname
 *         else:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_is_extension_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3056, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_2 = __pyx_t_3;
    __pyx_L4_bool_binop_done:;

    /* "Cython/Compiler/Code.py":3055
 *     def entry_as_pyobject(self, entry):
 *         type = entry.type
 *         if (not entry.is_self_arg and not entry.type.is_complete()             # <<<<<<<<<<<<<<
 *                 or entry.type.is_extension_type):
 *             return "(PyObject *)" + entry.cname
*/
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3057
 *         if (not entry.is_self_arg and not entry.type.is_complete()
 *                 or entry.type.is_extension_type):
 *             return "(PyObject *)" + entry.cname             # <<<<<<<<<<<<<<
 *         else:
 *             return entry.cname
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3057, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_1 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_PyObject_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3057, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":3055
 *     def entry_as_pyobject(self, entry):
 *         type = entry.type
 *         if (not entry.is_self_arg and not entry.type.is_complete()             # <<<<<<<<<<<<<<
 *                 or entry.type.is_extension_type):
 *             return "(PyObject *)" + entry.cname
*/
    }

    /* "Cython/Compiler/Code.py":3059
 *             return "(PyObject *)" + entry.cname
 *         else:
 *             return entry.cname             # <<<<<<<<<<<<<<
 * 
 *     def as_pyobject(self, cname, type):
*/
    /*else*/ {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3059, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;
    }

    /* "Cython/Compiler/Code.py":3053
 *     # Python objects and reference counting
 * 
 *     def entry_as_pyobject(self, entry):             # <<<<<<<<<<<<<<
 *         type = entry.type
 *         if (not entry.is_self_arg and not entry.type.is_complete()
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.entry_as_pyobject", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_type);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3061
 *             return entry.cname
 * 
 *     def as_pyobject(self, cname, type):             # <<<<<<<<<<<<<<
 *         from .PyrexTypes import py_object_type, typecast
 *         return typecast(py_object_type, type, cname)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_140as_pyobject(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_140as_pyobject = {"as_pyobject", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_140as_pyobject, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_140as_pyobject(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("as_pyobject (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3061, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3061, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3061, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "as_pyobject", 0) < (0)) __PYX_ERR(0, 3061, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("as_pyobject", 1, 2, 2, i); __PYX_ERR(0, 3061, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3061, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3061, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("as_pyobject", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3061, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.as_pyobject", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_139as_pyobject(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_139as_pyobject(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type) {
    PyObject *__pyx_v_py_object_type = NULL;
    PyObject *__pyx_v_typecast = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    Py_ssize_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("as_pyobject", 0);

    /* "Cython/Compiler/Code.py":3062
 * 
 *     def as_pyobject(self, cname, type):
 *         from .PyrexTypes import py_object_type, typecast             # <<<<<<<<<<<<<<
 *         return typecast(py_object_type, type, cname)
 * 
*/
    {
      PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_py_object_type,__pyx_mstate_global->__pyx_n_u_typecast};
      __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_PyrexTypes, __pyx_imported_names, 2, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler_PyrexTypes, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3062, __pyx_L1_error)
    }
    __pyx_t_1 = __pyx_t_2;
    __Pyx_GOTREF(__pyx_t_1);
    {
      PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_py_object_type,__pyx_mstate_global->__pyx_n_u_typecast};
      for (__pyx_t_3=0; __pyx_t_3 < 2; __pyx_t_3++) {
        __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_1, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3062, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        switch (__pyx_t_3) {
          case 0:
          __Pyx_INCREF(__pyx_t_4);
          __pyx_v_py_object_type = __pyx_t_4;
          break;
          case 1:
          __Pyx_INCREF(__pyx_t_4);
          __pyx_v_typecast = __pyx_t_4;
          break;
          default:;
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3063
 *     def as_pyobject(self, cname, type):
 *         from .PyrexTypes import py_object_type, typecast
 *         return typecast(py_object_type, type, cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_gotref(self, cname, type):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_v_typecast);
    __pyx_t_5 = __pyx_v_typecast; 
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_py_object_type, __pyx_v_type, __pyx_v_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3063, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3061
 *             return entry.cname
 * 
 *     def as_pyobject(self, cname, type):             # <<<<<<<<<<<<<<
 *         from .PyrexTypes import py_object_type, typecast
 *         return typecast(py_object_type, type, cname)
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.as_pyobject", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_py_object_type);
    __Pyx_XDECREF(__pyx_v_typecast);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3065
 *         return typecast(py_object_type, type, cname)
 * 
 *     def put_gotref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_gotref(self, cname)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_142put_gotref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_142put_gotref = {"put_gotref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_142put_gotref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_142put_gotref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_gotref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3065, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3065, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3065, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_gotref", 0) < (0)) __PYX_ERR(0, 3065, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_gotref", 1, 2, 2, i); __PYX_ERR(0, 3065, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3065, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3065, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_gotref", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3065, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_gotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_141put_gotref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_141put_gotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_gotref", 0);

    /* "Cython/Compiler/Code.py":3066
 * 
 *     def put_gotref(self, cname, type):
 *         type.generate_gotref(self, cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_giveref(self, cname, type):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_gotref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3066, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3065
 *         return typecast(py_object_type, type, cname)
 * 
 *     def put_gotref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_gotref(self, cname)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_gotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3068
 *         type.generate_gotref(self, cname)
 * 
 *     def put_giveref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_giveref(self, cname)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_144put_giveref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_144put_giveref = {"put_giveref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_144put_giveref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_144put_giveref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_giveref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3068, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3068, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3068, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_giveref", 0) < (0)) __PYX_ERR(0, 3068, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_giveref", 1, 2, 2, i); __PYX_ERR(0, 3068, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3068, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3068, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_giveref", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3068, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_giveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_143put_giveref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_143put_giveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_giveref", 0);

    /* "Cython/Compiler/Code.py":3069
 * 
 *     def put_giveref(self, cname, type):
 *         type.generate_giveref(self, cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_xgiveref(self, cname, type):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_giveref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3069, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3068
 *         type.generate_gotref(self, cname)
 * 
 *     def put_giveref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_giveref(self, cname)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_giveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3071
 *         type.generate_giveref(self, cname)
 * 
 *     def put_xgiveref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_xgiveref(self, cname)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_146put_xgiveref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_146put_xgiveref = {"put_xgiveref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_146put_xgiveref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_146put_xgiveref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_xgiveref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3071, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3071, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3071, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_xgiveref", 0) < (0)) __PYX_ERR(0, 3071, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_xgiveref", 1, 2, 2, i); __PYX_ERR(0, 3071, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3071, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3071, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_xgiveref", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3071, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xgiveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_145put_xgiveref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_145put_xgiveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_xgiveref", 0);

    /* "Cython/Compiler/Code.py":3072
 * 
 *     def put_xgiveref(self, cname, type):
 *         type.generate_xgiveref(self, cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_xgotref(self, cname, type):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_xgiveref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3071
 *         type.generate_giveref(self, cname)
 * 
 *     def put_xgiveref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_xgiveref(self, cname)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xgiveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3074
 *         type.generate_xgiveref(self, cname)
 * 
 *     def put_xgotref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_xgotref(self, cname)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_148put_xgotref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_148put_xgotref = {"put_xgotref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_148put_xgotref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_148put_xgotref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_xgotref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3074, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3074, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3074, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_xgotref", 0) < (0)) __PYX_ERR(0, 3074, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_xgotref", 1, 2, 2, i); __PYX_ERR(0, 3074, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3074, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3074, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_xgotref", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3074, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xgotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_147put_xgotref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_147put_xgotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_xgotref", 0);

    /* "Cython/Compiler/Code.py":3075
 * 
 *     def put_xgotref(self, cname, type):
 *         type.generate_xgotref(self, cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_incref(self, cname, type, nanny=True):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_xgotref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3075, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3074
 *         type.generate_xgiveref(self, cname)
 * 
 *     def put_xgotref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_xgotref(self, cname)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xgotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3077
 *         type.generate_xgotref(self, cname)
 * 
 *     def put_incref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         # Note: original put_Memslice_Incref/Decref also added in some utility code
 *         # this is unnecessary since the relevant utility code is loaded anyway if a memoryview is used
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_150put_incref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_150put_incref = {"put_incref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_150put_incref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_150put_incref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_nanny = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_incref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_nanny,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3077, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3077, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3077, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3077, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_incref", 0) < (0)) __PYX_ERR(0, 3077, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_incref", 0, 2, 3, i); __PYX_ERR(0, 3077, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3077, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3077, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3077, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_nanny = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_incref", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3077, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_incref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_149put_incref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_nanny);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_149put_incref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_incref", 0);

    /* "Cython/Compiler/Code.py":3081
 *         # this is unnecessary since the relevant utility code is loaded anyway if a memoryview is used
 *         # and so has been removed. However, it's potentially a feature that might be useful here
 *         type.generate_incref(self, cname, nanny=nanny)             # <<<<<<<<<<<<<<
 * 
 *     def put_xincref(self, cname, type, nanny=True):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_nanny, __pyx_v_nanny, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3081, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_incref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3077
 *         type.generate_xgotref(self, cname)
 * 
 *     def put_incref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         # Note: original put_Memslice_Incref/Decref also added in some utility code
 *         # this is unnecessary since the relevant utility code is loaded anyway if a memoryview is used
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_incref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3083
 *         type.generate_incref(self, cname, nanny=nanny)
 * 
 *     def put_xincref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         type.generate_xincref(self, cname, nanny=nanny)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_152put_xincref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_152put_xincref = {"put_xincref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_152put_xincref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_152put_xincref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_nanny = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_xincref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_nanny,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3083, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3083, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3083, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3083, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_xincref", 0) < (0)) __PYX_ERR(0, 3083, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_xincref", 0, 2, 3, i); __PYX_ERR(0, 3083, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3083, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3083, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3083, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_nanny = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_xincref", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3083, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xincref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_151put_xincref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_nanny);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_151put_xincref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_xincref", 0);

    /* "Cython/Compiler/Code.py":3084
 * 
 *     def put_xincref(self, cname, type, nanny=True):
 *         type.generate_xincref(self, cname, nanny=nanny)             # <<<<<<<<<<<<<<
 * 
 *     def put_decref(self, cname, type, nanny=True, have_gil=True):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_nanny, __pyx_v_nanny, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3084, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_xincref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3083
 *         type.generate_incref(self, cname, nanny=nanny)
 * 
 *     def put_xincref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         type.generate_xincref(self, cname, nanny=nanny)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xincref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3086
 *         type.generate_xincref(self, cname, nanny=nanny)
 * 
 *     def put_decref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_154put_decref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_154put_decref = {"put_decref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_154put_decref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_154put_decref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_nanny = 0;
    PyObject *__pyx_v_have_gil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[4] = {0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_decref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_nanny,&__pyx_mstate_global->__pyx_n_u_have_gil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3086, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3086, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3086, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3086, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3086, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_decref", 0) < (0)) __PYX_ERR(0, 3086, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_decref", 0, 2, 4, i); __PYX_ERR(0, 3086, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3086, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3086, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3086, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3086, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_nanny = values[2];
      __pyx_v_have_gil = values[3];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_decref", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 3086, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_decref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_153put_decref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_nanny, __pyx_v_have_gil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_153put_decref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_decref", 0);

    /* "Cython/Compiler/Code.py":3087
 * 
 *     def put_decref(self, cname, type, nanny=True, have_gil=True):
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)             # <<<<<<<<<<<<<<
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3087, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_nanny, __pyx_v_nanny, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3087, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_have_gil, __pyx_v_have_gil, __pyx_t_4, __pyx_callargs+3, 1) < (0)) __PYX_ERR(0, 3087, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_decref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3087, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3086
 *         type.generate_xincref(self, cname, nanny=nanny)
 * 
 *     def put_decref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_decref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3089
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_156put_xdecref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_156put_xdecref = {"put_xdecref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_156put_xdecref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_156put_xdecref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_nanny = 0;
    PyObject *__pyx_v_have_gil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[4] = {0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_xdecref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_nanny,&__pyx_mstate_global->__pyx_n_u_have_gil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3089, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3089, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3089, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3089, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3089, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_xdecref", 0) < (0)) __PYX_ERR(0, 3089, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_xdecref", 0, 2, 4, i); __PYX_ERR(0, 3089, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3089, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3089, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3089, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3089, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_nanny = values[2];
      __pyx_v_have_gil = values[3];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_xdecref", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 3089, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_155put_xdecref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_nanny, __pyx_v_have_gil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_155put_xdecref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_xdecref", 0);

    /* "Cython/Compiler/Code.py":3090
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)             # <<<<<<<<<<<<<<
 * 
 *     def put_decref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3090, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_nanny, __pyx_v_nanny, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3090, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_have_gil, __pyx_v_have_gil, __pyx_t_4, __pyx_callargs+3, 1) < (0)) __PYX_ERR(0, 3090, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_xdecref, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3090, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3089
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3092
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
 *     def put_decref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_158put_decref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_158put_decref_clear = {"put_decref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_158put_decref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_158put_decref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_clear_before_decref = 0;
    PyObject *__pyx_v_nanny = 0;
    PyObject *__pyx_v_have_gil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[5] = {0,0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_decref_clear (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_clear_before_decref,&__pyx_mstate_global->__pyx_n_u_nanny,&__pyx_mstate_global->__pyx_n_u_have_gil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3092, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_decref_clear", 0) < (0)) __PYX_ERR(0, 3092, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_decref_clear", 0, 2, 5, i); __PYX_ERR(0, 3092, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3092, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3092, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3092, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_clear_before_decref = values[2];
      __pyx_v_nanny = values[3];
      __pyx_v_have_gil = values[4];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_decref_clear", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 3092, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_decref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_157put_decref_clear(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_clear_before_decref, __pyx_v_nanny, __pyx_v_have_gil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_157put_decref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_clear_before_decref, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_decref_clear", 0);

    /* "Cython/Compiler/Code.py":3093
 * 
 *     def put_decref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):
 *         type.generate_decref_clear(self, cname, clear_before_decref=clear_before_decref,             # <<<<<<<<<<<<<<
 *                               nanny=nanny, have_gil=have_gil)
 * 
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":3094
 *     def put_decref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):
 *         type.generate_decref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)             # <<<<<<<<<<<<<<
 * 
 *     def put_xdecref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):
*/
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 3 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3093, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_clear_before_decref, __pyx_v_clear_before_decref, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3093, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_nanny, __pyx_v_nanny, __pyx_t_4, __pyx_callargs+3, 1) < (0)) __PYX_ERR(0, 3093, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_have_gil, __pyx_v_have_gil, __pyx_t_4, __pyx_callargs+3, 2) < (0)) __PYX_ERR(0, 3093, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_decref_clear, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3093, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3092
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
 *     def put_decref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_decref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3096
 *                               nanny=nanny, have_gil=have_gil)
 * 
 *     def put_xdecref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_160put_xdecref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_160put_xdecref_clear = {"put_xdecref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_160put_xdecref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_160put_xdecref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_clear_before_decref = 0;
    PyObject *__pyx_v_nanny = 0;
    PyObject *__pyx_v_have_gil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[5] = {0,0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_xdecref_clear (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_clear_before_decref,&__pyx_mstate_global->__pyx_n_u_nanny,&__pyx_mstate_global->__pyx_n_u_have_gil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3096, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_xdecref_clear", 0) < (0)) __PYX_ERR(0, 3096, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_xdecref_clear", 0, 2, 5, i); __PYX_ERR(0, 3096, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3096, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3096, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3096, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_clear_before_decref = values[2];
      __pyx_v_nanny = values[3];
      __pyx_v_have_gil = values[4];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_xdecref_clear", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 3096, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_159put_xdecref_clear(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_clear_before_decref, __pyx_v_nanny, __pyx_v_have_gil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_159put_xdecref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_clear_before_decref, PyObject *__pyx_v_nanny, PyObject *__pyx_v_have_gil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_xdecref_clear", 0);

    /* "Cython/Compiler/Code.py":3097
 * 
 *     def put_xdecref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):
 *         type.generate_xdecref_clear(self, cname, clear_before_decref=clear_before_decref,             # <<<<<<<<<<<<<<
 *                               nanny=nanny, have_gil=have_gil)
 * 
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":3098
 *     def put_xdecref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):
 *         type.generate_xdecref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)             # <<<<<<<<<<<<<<
 * 
 *     def put_decref_set(self, cname, type, rhs_cname):
*/
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 3 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3097, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_clear_before_decref, __pyx_v_clear_before_decref, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3097, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_nanny, __pyx_v_nanny, __pyx_t_4, __pyx_callargs+3, 1) < (0)) __PYX_ERR(0, 3097, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_have_gil, __pyx_v_have_gil, __pyx_t_4, __pyx_callargs+3, 2) < (0)) __PYX_ERR(0, 3097, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_xdecref_clear, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3097, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3096
 *                               nanny=nanny, have_gil=have_gil)
 * 
 *     def put_xdecref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3100
 *                               nanny=nanny, have_gil=have_gil)
 * 
 *     def put_decref_set(self, cname, type, rhs_cname):             # <<<<<<<<<<<<<<
 *         type.generate_decref_set(self, cname, rhs_cname)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_162put_decref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_162put_decref_set = {"put_decref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_162put_decref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_162put_decref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_rhs_cname = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_decref_set (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_rhs_cname,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3100, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3100, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3100, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3100, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_decref_set", 0) < (0)) __PYX_ERR(0, 3100, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_decref_set", 1, 3, 3, i); __PYX_ERR(0, 3100, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 3)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3100, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3100, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3100, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_rhs_cname = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_decref_set", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 3100, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_decref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_161put_decref_set(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_rhs_cname);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_161put_decref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_rhs_cname) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_decref_set", 0);

    /* "Cython/Compiler/Code.py":3101
 * 
 *     def put_decref_set(self, cname, type, rhs_cname):
 *         type.generate_decref_set(self, cname, rhs_cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_xdecref_set(self, cname, type, rhs_cname):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname, __pyx_v_rhs_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_decref_set, __pyx_callargs+__pyx_t_3, (4-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3101, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3100
 *                               nanny=nanny, have_gil=have_gil)
 * 
 *     def put_decref_set(self, cname, type, rhs_cname):             # <<<<<<<<<<<<<<
 *         type.generate_decref_set(self, cname, rhs_cname)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_decref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3103
 *         type.generate_decref_set(self, cname, rhs_cname)
 * 
 *     def put_xdecref_set(self, cname, type, rhs_cname):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref_set(self, cname, rhs_cname)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_164put_xdecref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_164put_xdecref_set = {"put_xdecref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_164put_xdecref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_164put_xdecref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_rhs_cname = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_xdecref_set (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_rhs_cname,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3103, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3103, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3103, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3103, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_xdecref_set", 0) < (0)) __PYX_ERR(0, 3103, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_xdecref_set", 1, 3, 3, i); __PYX_ERR(0, 3103, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 3)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3103, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3103, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3103, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_rhs_cname = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_xdecref_set", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 3103, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_163put_xdecref_set(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_rhs_cname);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_163put_xdecref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_rhs_cname) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_xdecref_set", 0);

    /* "Cython/Compiler/Code.py":3104
 * 
 *     def put_xdecref_set(self, cname, type, rhs_cname):
 *         type.generate_xdecref_set(self, cname, rhs_cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, type, have_gil):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_cname, __pyx_v_rhs_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_xdecref_set, __pyx_callargs+__pyx_t_3, (4-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3104, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3103
 *         type.generate_decref_set(self, cname, rhs_cname)
 * 
 *     def put_xdecref_set(self, cname, type, rhs_cname):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref_set(self, cname, rhs_cname)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3106
 *         type.generate_xdecref_set(self, cname, rhs_cname)
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, type, have_gil):             # <<<<<<<<<<<<<<
 *         # TODO ideally this would just be merged into "put_incref"
 *         type.generate_incref_memoryviewslice(self, slice_cname, have_gil=have_gil)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice = {"put_incref_memoryviewslice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_slice_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_have_gil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_incref_memoryviewslice (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_slice_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_have_gil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3106, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3106, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3106, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3106, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_incref_memoryviewslice", 0) < (0)) __PYX_ERR(0, 3106, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_incref_memoryviewslice", 1, 3, 3, i); __PYX_ERR(0, 3106, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 3)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3106, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3106, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3106, __pyx_L3_error)
      }
      __pyx_v_slice_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_have_gil = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_incref_memoryviewslice", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 3106, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_incref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_165put_incref_memoryviewslice(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_slice_cname, __pyx_v_type, __pyx_v_have_gil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_165put_incref_memoryviewslice(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_slice_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_have_gil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_incref_memoryviewslice", 0);

    /* "Cython/Compiler/Code.py":3108
 *     def put_incref_memoryviewslice(self, slice_cname, type, have_gil):
 *         # TODO ideally this would just be merged into "put_incref"
 *         type.generate_incref_memoryviewslice(self, slice_cname, have_gil=have_gil)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_incref_memoryviewslice(self, entry, have_gil):
*/
    __pyx_t_2 = __pyx_v_type;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_slice_cname};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3108, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_have_gil, __pyx_v_have_gil, __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3108, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_generate_incref_memoryviewslice, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3108, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3106
 *         type.generate_xdecref_set(self, cname, rhs_cname)
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, type, have_gil):             # <<<<<<<<<<<<<<
 *         # TODO ideally this would just be merged into "put_incref"
 *         type.generate_incref_memoryviewslice(self, slice_cname, have_gil=have_gil)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_incref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3110
 *         type.generate_incref_memoryviewslice(self, slice_cname, have_gil=have_gil)
 * 
 *     def put_var_incref_memoryviewslice(self, entry, have_gil):             # <<<<<<<<<<<<<<
 *         self.put_incref_memoryviewslice(entry.cname, entry.type, have_gil=have_gil)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_168put_var_incref_memoryviewslice(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_168put_var_incref_memoryviewslice = {"put_var_incref_memoryviewslice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_168put_var_incref_memoryviewslice, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_168put_var_incref_memoryviewslice(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_have_gil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_incref_memoryviewslice (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,&__pyx_mstate_global->__pyx_n_u_have_gil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3110, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3110, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3110, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_var_incref_memoryviewslice", 0) < (0)) __PYX_ERR(0, 3110, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_incref_memoryviewslice", 1, 2, 2, i); __PYX_ERR(0, 3110, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3110, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3110, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
      __pyx_v_have_gil = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_incref_memoryviewslice", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3110, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_incref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_167put_var_incref_memoryviewslice(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_have_gil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_167put_var_incref_memoryviewslice(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_have_gil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_incref_memoryviewslice", 0);

    /* "Cython/Compiler/Code.py":3111
 * 
 *     def put_var_incref_memoryviewslice(self, entry, have_gil):
 *         self.put_incref_memoryviewslice(entry.cname, entry.type, have_gil=have_gil)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_gotref(self, entry):
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3, __pyx_t_4};
      __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3111, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_have_gil, __pyx_v_have_gil, __pyx_t_6, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 3111, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_put_incref_memoryviewslice, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3111, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3110
 *         type.generate_incref_memoryviewslice(self, slice_cname, have_gil=have_gil)
 * 
 *     def put_var_incref_memoryviewslice(self, entry, have_gil):             # <<<<<<<<<<<<<<
 *         self.put_incref_memoryviewslice(entry.cname, entry.type, have_gil=have_gil)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_incref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3113
 *         self.put_incref_memoryviewslice(entry.cname, entry.type, have_gil=have_gil)
 * 
 *     def put_var_gotref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_gotref(entry.cname, entry.type)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_170put_var_gotref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_170put_var_gotref = {"put_var_gotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_170put_var_gotref, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_170put_var_gotref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_gotref (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_169put_var_gotref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entry));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_169put_var_gotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_gotref", 0);

    /* "Cython/Compiler/Code.py":3114
 * 
 *     def put_var_gotref(self, entry):
 *         self.put_gotref(entry.cname, entry.type)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_giveref(self, entry):
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_gotref, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3114, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3113
 *         self.put_incref_memoryviewslice(entry.cname, entry.type, have_gil=have_gil)
 * 
 *     def put_var_gotref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_gotref(entry.cname, entry.type)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_gotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3116
 *         self.put_gotref(entry.cname, entry.type)
 * 
 *     def put_var_giveref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_giveref(entry.cname, entry.type)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_172put_var_giveref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_172put_var_giveref = {"put_var_giveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_172put_var_giveref, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_172put_var_giveref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_giveref (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_171put_var_giveref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entry));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_171put_var_giveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_giveref", 0);

    /* "Cython/Compiler/Code.py":3117
 * 
 *     def put_var_giveref(self, entry):
 *         self.put_giveref(entry.cname, entry.type)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xgotref(self, entry):
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_giveref, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3116
 *         self.put_gotref(entry.cname, entry.type)
 * 
 *     def put_var_giveref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_giveref(entry.cname, entry.type)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_giveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3119
 *         self.put_giveref(entry.cname, entry.type)
 * 
 *     def put_var_xgotref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_xgotref(entry.cname, entry.type)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_174put_var_xgotref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_174put_var_xgotref = {"put_var_xgotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_174put_var_xgotref, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_174put_var_xgotref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xgotref (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_173put_var_xgotref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entry));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_173put_var_xgotref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xgotref", 0);

    /* "Cython/Compiler/Code.py":3120
 * 
 *     def put_var_xgotref(self, entry):
 *         self.put_xgotref(entry.cname, entry.type)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xgiveref(self, entry):
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_xgotref, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3119
 *         self.put_giveref(entry.cname, entry.type)
 * 
 *     def put_var_xgotref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_xgotref(entry.cname, entry.type)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xgotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3122
 *         self.put_xgotref(entry.cname, entry.type)
 * 
 *     def put_var_xgiveref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_xgiveref(entry.cname, entry.type)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_176put_var_xgiveref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_176put_var_xgiveref = {"put_var_xgiveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_176put_var_xgiveref, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_176put_var_xgiveref(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xgiveref (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_175put_var_xgiveref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entry));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_175put_var_xgiveref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xgiveref", 0);

    /* "Cython/Compiler/Code.py":3123
 * 
 *     def put_var_xgiveref(self, entry):
 *         self.put_xgiveref(entry.cname, entry.type)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_incref(self, entry, **kwds):
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_xgiveref, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3122
 *         self.put_xgotref(entry.cname, entry.type)
 * 
 *     def put_var_xgiveref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_xgiveref(entry.cname, entry.type)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xgiveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3125
 *         self.put_xgiveref(entry.cname, entry.type)
 * 
 *     def put_var_incref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_incref(entry.cname, entry.type, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_178put_var_incref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_178put_var_incref = {"put_var_incref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_178put_var_incref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_178put_var_incref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_incref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3125, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3125, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_incref", 1) < (0)) __PYX_ERR(0, 3125, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_incref", 1, 1, 1, i); __PYX_ERR(0, 3125, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3125, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_incref", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3125, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_incref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_177put_var_incref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_177put_var_incref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_incref", 0);

    /* "Cython/Compiler/Code.py":3126
 * 
 *     def put_var_incref(self, entry, **kwds):
 *         self.put_incref(entry.cname, entry.type, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xincref(self, entry, **kwds):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_incref); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3126, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3125
 *         self.put_xgiveref(entry.cname, entry.type)
 * 
 *     def put_var_incref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_incref(entry.cname, entry.type, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_incref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3128
 *         self.put_incref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_xincref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xincref(entry.cname, entry.type, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_180put_var_xincref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_180put_var_xincref = {"put_var_xincref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_180put_var_xincref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_180put_var_xincref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xincref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3128, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3128, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_xincref", 1) < (0)) __PYX_ERR(0, 3128, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_xincref", 1, 1, 1, i); __PYX_ERR(0, 3128, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3128, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_xincref", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3128, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xincref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_179put_var_xincref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_179put_var_xincref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xincref", 0);

    /* "Cython/Compiler/Code.py":3129
 * 
 *     def put_var_xincref(self, entry, **kwds):
 *         self.put_xincref(entry.cname, entry.type, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_decref(self, entry, **kwds):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_xincref); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3128
 *         self.put_incref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_xincref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xincref(entry.cname, entry.type, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xincref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3131
 *         self.put_xincref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_decref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref(entry.cname, entry.type, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_182put_var_decref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_182put_var_decref = {"put_var_decref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_182put_var_decref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_182put_var_decref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_decref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3131, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3131, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_decref", 1) < (0)) __PYX_ERR(0, 3131, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_decref", 1, 1, 1, i); __PYX_ERR(0, 3131, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3131, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_decref", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3131, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_181put_var_decref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_181put_var_decref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_decref", 0);

    /* "Cython/Compiler/Code.py":3132
 * 
 *     def put_var_decref(self, entry, **kwds):
 *         self.put_decref(entry.cname, entry.type, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecref(self, entry, **kwds):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_decref); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3131
 *         self.put_xincref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_decref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref(entry.cname, entry.type, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3134
 *         self.put_decref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_xdecref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref(entry.cname, entry.type, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_184put_var_xdecref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_184put_var_xdecref = {"put_var_xdecref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_184put_var_xdecref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_184put_var_xdecref(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xdecref (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3134, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3134, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_xdecref", 1) < (0)) __PYX_ERR(0, 3134, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_xdecref", 1, 1, 1, i); __PYX_ERR(0, 3134, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3134, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_xdecref", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3134, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_183put_var_xdecref(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_183put_var_xdecref(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xdecref", 0);

    /* "Cython/Compiler/Code.py":3135
 * 
 *     def put_var_xdecref(self, entry, **kwds):
 *         self.put_xdecref(entry.cname, entry.type, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_decref_clear(self, entry, **kwds):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_xdecref); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3135, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3134
 *         self.put_decref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_xdecref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref(entry.cname, entry.type, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecref", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3137
 *         self.put_xdecref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_decref_clear(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_186put_var_decref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_186put_var_decref_clear = {"put_var_decref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_186put_var_decref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_186put_var_decref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_decref_clear (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3137, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3137, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_decref_clear", 1) < (0)) __PYX_ERR(0, 3137, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_decref_clear", 1, 1, 1, i); __PYX_ERR(0, 3137, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3137, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_decref_clear", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3137, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_185put_var_decref_clear(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_185put_var_decref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    size_t __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_decref_clear", 0);

    /* "Cython/Compiler/Code.py":3138
 * 
 *     def put_var_decref_clear(self, entry, **kwds):
 *         self.put_decref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_decref_set(self, entry, rhs_cname, **kwds):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_decref_clear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_in_closure); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_clear_before_decref, __pyx_t_8) < (0)) __PYX_ERR(0, 3138, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_6 = __pyx_t_7;
    __pyx_t_7 = 0;
    if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < (0)) __PYX_ERR(0, 3138, __pyx_L1_error)
    __pyx_t_9 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_9 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3138, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3137
 *         self.put_xdecref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_decref_clear(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3140
 *         self.put_decref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
 *     def put_var_decref_set(self, entry, rhs_cname, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_188put_var_decref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_188put_var_decref_set = {"put_var_decref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_188put_var_decref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_188put_var_decref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_rhs_cname = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_decref_set (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,&__pyx_mstate_global->__pyx_n_u_rhs_cname,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3140, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3140, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3140, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_decref_set", 1) < (0)) __PYX_ERR(0, 3140, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_decref_set", 1, 2, 2, i); __PYX_ERR(0, 3140, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3140, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3140, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
      __pyx_v_rhs_cname = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_decref_set", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3140, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_187put_var_decref_set(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_rhs_cname, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_187put_var_decref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_rhs_cname, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_decref_set", 0);

    /* "Cython/Compiler/Code.py":3141
 * 
 *     def put_var_decref_set(self, entry, rhs_cname, **kwds):
 *         self.put_decref_set(entry.cname, entry.type, rhs_cname, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecref_set(self, entry, rhs_cname, **kwds):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_decref_set); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_v_rhs_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (4-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3141, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3140
 *         self.put_decref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
 *     def put_var_decref_set(self, entry, rhs_cname, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3143
 *         self.put_decref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
 *     def put_var_xdecref_set(self, entry, rhs_cname, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_190put_var_xdecref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_190put_var_xdecref_set = {"put_var_xdecref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_190put_var_xdecref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_190put_var_xdecref_set(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_rhs_cname = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xdecref_set (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,&__pyx_mstate_global->__pyx_n_u_rhs_cname,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3143, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3143, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3143, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_xdecref_set", 1) < (0)) __PYX_ERR(0, 3143, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_xdecref_set", 1, 2, 2, i); __PYX_ERR(0, 3143, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3143, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3143, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
      __pyx_v_rhs_cname = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_xdecref_set", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3143, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_189put_var_xdecref_set(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_rhs_cname, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_189put_var_xdecref_set(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_rhs_cname, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xdecref_set", 0);

    /* "Cython/Compiler/Code.py":3144
 * 
 *     def put_var_xdecref_set(self, entry, rhs_cname, **kwds):
 *         self.put_xdecref_set(entry.cname, entry.type, rhs_cname, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecref_clear(self, entry, **kwds):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_xdecref_set); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_v_rhs_cname};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (4-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3143
 *         self.put_decref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
 *     def put_var_xdecref_set(self, entry, rhs_cname, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecref_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3146
 *         self.put_xdecref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
 *     def put_var_xdecref_clear(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_192put_var_xdecref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_192put_var_xdecref_clear = {"put_var_xdecref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_192put_var_xdecref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_192put_var_xdecref_clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_kwds = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xdecref_clear (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL;
    __Pyx_GOTREF(__pyx_v_kwds);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3146, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3146, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwds, values, kwd_pos_args, __pyx_kwds_len, "put_var_xdecref_clear", 1) < (0)) __PYX_ERR(0, 3146, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_xdecref_clear", 1, 1, 1, i); __PYX_ERR(0, 3146, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3146, __pyx_L3_error)
      }
      __pyx_v_entry = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_xdecref_clear", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3146, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_191put_var_xdecref_clear(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_kwds);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_DECREF(__pyx_v_kwds);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_191put_var_xdecref_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_kwds) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    size_t __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xdecref_clear", 0);

    /* "Cython/Compiler/Code.py":3147
 * 
 *     def put_var_xdecref_clear(self, entry, **kwds):
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_put_xdecref_clear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_in_closure); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_clear_before_decref, __pyx_t_8) < (0)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_6 = __pyx_t_7;
    __pyx_t_7 = 0;
    if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < (0)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __pyx_t_9 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_9 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3146
 *         self.put_xdecref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
 *     def put_var_xdecref_clear(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecref_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3149
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             if not used_only or entry.used:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_194put_var_decrefs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_194put_var_decrefs = {"put_var_decrefs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_194put_var_decrefs, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_194put_var_decrefs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entries = 0;
    PyObject *__pyx_v_used_only = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_decrefs (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entries,&__pyx_mstate_global->__pyx_n_u_used_only,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3149, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3149, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3149, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_var_decrefs", 0) < (0)) __PYX_ERR(0, 3149, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_var_decrefs", 0, 1, 2, i); __PYX_ERR(0, 3149, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3149, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3149, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      }
      __pyx_v_entries = values[0];
      __pyx_v_used_only = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_var_decrefs", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3149, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decrefs", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_193put_var_decrefs(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entries, __pyx_v_used_only);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_193put_var_decrefs(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entries, PyObject *__pyx_v_used_only) {
    PyObject *__pyx_v_entry = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    Py_ssize_t __pyx_t_2;
    PyObject *(*__pyx_t_3)(PyObject *);
    PyObject *__pyx_t_4 = NULL;
    int __pyx_t_5;
    int __pyx_t_6;
    int __pyx_t_7;
    PyObject *__pyx_t_8 = NULL;
    size_t __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_decrefs", 0);

    /* "Cython/Compiler/Code.py":3150
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):
 *         for entry in entries:             # <<<<<<<<<<<<<<
 *             if not used_only or entry.used:
 *                 if entry.xdecref_cleanup:
*/
    if (likely(PyList_CheckExact(__pyx_v_entries)) || PyTuple_CheckExact(__pyx_v_entries)) {
      __pyx_t_1 = __pyx_v_entries; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_2 = 0;
      __pyx_t_3 = NULL;
    } else {
      __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_entries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3150, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_3)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3150, __pyx_L1_error)
            #endif
            if (__pyx_t_2 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_2;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3150, __pyx_L1_error)
            #endif
            if (__pyx_t_2 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
          #endif
          ++__pyx_t_2;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3150, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_3(__pyx_t_1);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 3150, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":3151
 *     def put_var_decrefs(self, entries, used_only = 0):
 *         for entry in entries:
 *             if not used_only or entry.used:             # <<<<<<<<<<<<<<
 *                 if entry.xdecref_cleanup:
 *                     self.put_var_xdecref(entry)
*/
      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_used_only); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 3151, __pyx_L1_error)
      __pyx_t_7 = (!__pyx_t_6);
      if (!__pyx_t_7) {
      } else {
        __pyx_t_5 = __pyx_t_7;
        goto __pyx_L6_bool_binop_done;
      }
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_used); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3151, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 3151, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_5 = __pyx_t_7;
      __pyx_L6_bool_binop_done:;
      if (__pyx_t_5) {

        /* "Cython/Compiler/Code.py":3152
 *         for entry in entries:
 *             if not used_only or entry.used:
 *                 if entry.xdecref_cleanup:             # <<<<<<<<<<<<<<
 *                     self.put_var_xdecref(entry)
 *                 else:
*/
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_xdecref_cleanup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 3152, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (__pyx_t_5) {

          /* "Cython/Compiler/Code.py":3153
 *             if not used_only or entry.used:
 *                 if entry.xdecref_cleanup:
 *                     self.put_var_xdecref(entry)             # <<<<<<<<<<<<<<
 *                 else:
 *                     self.put_var_decref(entry)
*/
          __pyx_t_8 = ((PyObject *)__pyx_v_self);
          __Pyx_INCREF(__pyx_t_8);
          __pyx_t_9 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_entry};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_var_xdecref, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3153, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "Cython/Compiler/Code.py":3152
 *         for entry in entries:
 *             if not used_only or entry.used:
 *                 if entry.xdecref_cleanup:             # <<<<<<<<<<<<<<
 *                     self.put_var_xdecref(entry)
 *                 else:
*/
          goto __pyx_L8;
        }

        /* "Cython/Compiler/Code.py":3155
 *                     self.put_var_xdecref(entry)
 *                 else:
 *                     self.put_var_decref(entry)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecrefs(self, entries):
*/
        /*else*/ {
          __pyx_t_8 = ((PyObject *)__pyx_v_self);
          __Pyx_INCREF(__pyx_t_8);
          __pyx_t_9 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_entry};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_var_decref, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3155, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        }
        __pyx_L8:;

        /* "Cython/Compiler/Code.py":3151
 *     def put_var_decrefs(self, entries, used_only = 0):
 *         for entry in entries:
 *             if not used_only or entry.used:             # <<<<<<<<<<<<<<
 *                 if entry.xdecref_cleanup:
 *                     self.put_var_xdecref(entry)
*/
      }

      /* "Cython/Compiler/Code.py":3150
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):
 *         for entry in entries:             # <<<<<<<<<<<<<<
 *             if not used_only or entry.used:
 *                 if entry.xdecref_cleanup:
*/
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3149
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             if not used_only or entry.used:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_decrefs", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_entry);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3157
 *                     self.put_var_decref(entry)
 * 
 *     def put_var_xdecrefs(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref(entry)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_196put_var_xdecrefs(PyObject *__pyx_v_self, PyObject *__pyx_v_entries); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_196put_var_xdecrefs = {"put_var_xdecrefs", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_196put_var_xdecrefs, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_196put_var_xdecrefs(PyObject *__pyx_v_self, PyObject *__pyx_v_entries) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xdecrefs (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_195put_var_xdecrefs(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entries));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_195put_var_xdecrefs(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entries) {
    PyObject *__pyx_v_entry = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    Py_ssize_t __pyx_t_2;
    PyObject *(*__pyx_t_3)(PyObject *);
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xdecrefs", 0);

    /* "Cython/Compiler/Code.py":3158
 * 
 *     def put_var_xdecrefs(self, entries):
 *         for entry in entries:             # <<<<<<<<<<<<<<
 *             self.put_var_xdecref(entry)
 * 
*/
    if (likely(PyList_CheckExact(__pyx_v_entries)) || PyTuple_CheckExact(__pyx_v_entries)) {
      __pyx_t_1 = __pyx_v_entries; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_2 = 0;
      __pyx_t_3 = NULL;
    } else {
      __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_entries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3158, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_3)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3158, __pyx_L1_error)
            #endif
            if (__pyx_t_2 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_2;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3158, __pyx_L1_error)
            #endif
            if (__pyx_t_2 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
          #endif
          ++__pyx_t_2;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3158, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_3(__pyx_t_1);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 3158, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":3159
 *     def put_var_xdecrefs(self, entries):
 *         for entry in entries:
 *             self.put_var_xdecref(entry)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecrefs_clear(self, entries):
*/
      __pyx_t_5 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_var_xdecref, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3159, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":3158
 * 
 *     def put_var_xdecrefs(self, entries):
 *         for entry in entries:             # <<<<<<<<<<<<<<
 *             self.put_var_xdecref(entry)
 * 
*/
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3157
 *                     self.put_var_decref(entry)
 * 
 *     def put_var_xdecrefs(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref(entry)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecrefs", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_entry);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3161
 *             self.put_var_xdecref(entry)
 * 
 *     def put_var_xdecrefs_clear(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref_clear(entry)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_198put_var_xdecrefs_clear(PyObject *__pyx_v_self, PyObject *__pyx_v_entries); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_198put_var_xdecrefs_clear = {"put_var_xdecrefs_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_198put_var_xdecrefs_clear, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_198put_var_xdecrefs_clear(PyObject *__pyx_v_self, PyObject *__pyx_v_entries) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_var_xdecrefs_clear (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_197put_var_xdecrefs_clear(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entries));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_197put_var_xdecrefs_clear(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entries) {
    PyObject *__pyx_v_entry = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    Py_ssize_t __pyx_t_2;
    PyObject *(*__pyx_t_3)(PyObject *);
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_var_xdecrefs_clear", 0);

    /* "Cython/Compiler/Code.py":3162
 * 
 *     def put_var_xdecrefs_clear(self, entries):
 *         for entry in entries:             # <<<<<<<<<<<<<<
 *             self.put_var_xdecref_clear(entry)
 * 
*/
    if (likely(PyList_CheckExact(__pyx_v_entries)) || PyTuple_CheckExact(__pyx_v_entries)) {
      __pyx_t_1 = __pyx_v_entries; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_2 = 0;
      __pyx_t_3 = NULL;
    } else {
      __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_entries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3162, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3162, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_3)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3162, __pyx_L1_error)
            #endif
            if (__pyx_t_2 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_2;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3162, __pyx_L1_error)
            #endif
            if (__pyx_t_2 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
          #endif
          ++__pyx_t_2;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3162, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_3(__pyx_t_1);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 3162, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":3163
 *     def put_var_xdecrefs_clear(self, entries):
 *         for entry in entries:
 *             self.put_var_xdecref_clear(entry)             # <<<<<<<<<<<<<<
 * 
 *     def put_make_object_deferred(self, cname):
*/
      __pyx_t_5 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_var_xdecref_clear, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3163, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":3162
 * 
 *     def put_var_xdecrefs_clear(self, entries):
 *         for entry in entries:             # <<<<<<<<<<<<<<
 *             self.put_var_xdecref_clear(entry)
 * 
*/
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3161
 *             self.put_var_xdecref(entry)
 * 
 *     def put_var_xdecrefs_clear(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref_clear(entry)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecrefs_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_entry);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3165
 *             self.put_var_xdecref_clear(entry)
 * 
 *     def put_make_object_deferred(self, cname):             # <<<<<<<<<<<<<<
 *         # Deferred reference counting is probably only worthwhile on global classes
 *         # that we expect to be long-term accessible.  So for now exclude it if not
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_200put_make_object_deferred(PyObject *__pyx_v_self, PyObject *__pyx_v_cname); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_200put_make_object_deferred = {"put_make_object_deferred", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_200put_make_object_deferred, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_200put_make_object_deferred(PyObject *__pyx_v_self, PyObject *__pyx_v_cname) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_make_object_deferred (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_199put_make_object_deferred(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_cname));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_199put_make_object_deferred(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    PyObject *__pyx_t_5[3];
    PyObject *__pyx_t_6 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_make_object_deferred", 0);

    /* "Cython/Compiler/Code.py":3169
 *         # that we expect to be long-term accessible.  So for now exclude it if not
 *         # at class or module scope.
 *         if (self.funcstate.scope.is_module_scope or             # <<<<<<<<<<<<<<
 *                 self.funcstate.scope.is_c_class_scope or
 *                 self.funcstate.scope.is_py_class_scope):
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->funcstate->scope, __pyx_mstate_global->__pyx_n_u_is_module_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3169, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!__pyx_t_3) {
    } else {
      __pyx_t_1 = __pyx_t_3;
      goto __pyx_L4_bool_binop_done;
    }

    /* "Cython/Compiler/Code.py":3170
 *         # at class or module scope.
 *         if (self.funcstate.scope.is_module_scope or
 *                 self.funcstate.scope.is_c_class_scope or             # <<<<<<<<<<<<<<
 *                 self.funcstate.scope.is_py_class_scope):
 *             self.putln("#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000")
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->funcstate->scope, __pyx_mstate_global->__pyx_n_u_is_c_class_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3170, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!__pyx_t_3) {
    } else {
      __pyx_t_1 = __pyx_t_3;
      goto __pyx_L4_bool_binop_done;
    }

    /* "Cython/Compiler/Code.py":3171
 *         if (self.funcstate.scope.is_module_scope or
 *                 self.funcstate.scope.is_c_class_scope or
 *                 self.funcstate.scope.is_py_class_scope):             # <<<<<<<<<<<<<<
 *             self.putln("#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000")
 *             self.putln(f"PyUnstable_Object_EnableDeferredRefcount({cname});")
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->funcstate->scope, __pyx_mstate_global->__pyx_n_u_is_py_class_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3171, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __pyx_t_3;
    __pyx_L4_bool_binop_done:;

    /* "Cython/Compiler/Code.py":3169
 *         # that we expect to be long-term accessible.  So for now exclude it if not
 *         # at class or module scope.
 *         if (self.funcstate.scope.is_module_scope or             # <<<<<<<<<<<<<<
 *                 self.funcstate.scope.is_c_class_scope or
 *                 self.funcstate.scope.is_py_class_scope):
*/
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3172
 *                 self.funcstate.scope.is_c_class_scope or
 *                 self.funcstate.scope.is_py_class_scope):
 *             self.putln("#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000")             # <<<<<<<<<<<<<<
 *             self.putln(f"PyUnstable_Object_EnableDeferredRefcount({cname});")
 *             self.putln("#endif")
*/
      __pyx_t_4.__pyx_n = 1;
      __pyx_t_4.code = __pyx_mstate_global->__pyx_kp_u_if_CYTHON_COMPILING_IN_CPYTHON_2;
      __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3172, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3173
 *                 self.funcstate.scope.is_py_class_scope):
 *             self.putln("#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000")
 *             self.putln(f"PyUnstable_Object_EnableDeferredRefcount({cname});")             # <<<<<<<<<<<<<<
 *             self.putln("#endif")
 * 
*/
      __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_PyUnstable_Object_EnableDeferred;
      __pyx_t_5[1] = __pyx_t_2;
      __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__42;
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, 41 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_4.__pyx_n = 1;
      __pyx_t_4.code = __pyx_t_6;
      __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3174
 *             self.putln("#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000")
 *             self.putln(f"PyUnstable_Object_EnableDeferredRefcount({cname});")
 *             self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_init_to_py_none(self, cname, type, nanny=True):
*/
      __pyx_t_4.__pyx_n = 1;
      __pyx_t_4.code = __pyx_mstate_global->__pyx_kp_u_endif;
      __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3169
 *         # that we expect to be long-term accessible.  So for now exclude it if not
 *         # at class or module scope.
 *         if (self.funcstate.scope.is_module_scope or             # <<<<<<<<<<<<<<
 *                 self.funcstate.scope.is_c_class_scope or
 *                 self.funcstate.scope.is_py_class_scope):
*/
    }

    /* "Cython/Compiler/Code.py":3165
 *             self.put_var_xdecref_clear(entry)
 * 
 *     def put_make_object_deferred(self, cname):             # <<<<<<<<<<<<<<
 *         # Deferred reference counting is probably only worthwhile on global classes
 *         # that we expect to be long-term accessible.  So for now exclude it if not
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_make_object_deferred", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3176
 *             self.putln("#endif")
 * 
 *     def put_init_to_py_none(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         from .PyrexTypes import py_object_type, typecast
 *         py_none = typecast(type, py_object_type, "Py_None")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_202put_init_to_py_none(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_202put_init_to_py_none = {"put_init_to_py_none", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_202put_init_to_py_none, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_202put_init_to_py_none(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_type = 0;
    PyObject *__pyx_v_nanny = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_init_to_py_none (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_type,&__pyx_mstate_global->__pyx_n_u_nanny,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3176, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3176, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3176, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3176, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_init_to_py_none", 0) < (0)) __PYX_ERR(0, 3176, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_init_to_py_none", 0, 2, 3, i); __PYX_ERR(0, 3176, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3176, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3176, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3176, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_cname = values[0];
      __pyx_v_type = values[1];
      __pyx_v_nanny = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_init_to_py_none", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3176, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_init_to_py_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_201put_init_to_py_none(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_type, __pyx_v_nanny);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_201put_init_to_py_none(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny) {
    PyObject *__pyx_v_py_object_type = NULL;
    PyObject *__pyx_v_typecast = NULL;
    PyObject *__pyx_v_py_none = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    Py_ssize_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    int __pyx_t_7;
    PyObject *__pyx_t_8[4];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_init_to_py_none", 0);

    /* "Cython/Compiler/Code.py":3177
 * 
 *     def put_init_to_py_none(self, cname, type, nanny=True):
 *         from .PyrexTypes import py_object_type, typecast             # <<<<<<<<<<<<<<
 *         py_none = typecast(type, py_object_type, "Py_None")
 *         if nanny:
*/
    {
      PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_py_object_type,__pyx_mstate_global->__pyx_n_u_typecast};
      __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_PyrexTypes, __pyx_imported_names, 2, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler_PyrexTypes, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3177, __pyx_L1_error)
    }
    __pyx_t_1 = __pyx_t_2;
    __Pyx_GOTREF(__pyx_t_1);
    {
      PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_py_object_type,__pyx_mstate_global->__pyx_n_u_typecast};
      for (__pyx_t_3=0; __pyx_t_3 < 2; __pyx_t_3++) {
        __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_1, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        switch (__pyx_t_3) {
          case 0:
          __Pyx_INCREF(__pyx_t_4);
          __pyx_v_py_object_type = __pyx_t_4;
          break;
          case 1:
          __Pyx_INCREF(__pyx_t_4);
          __pyx_v_typecast = __pyx_t_4;
          break;
          default:;
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3178
 *     def put_init_to_py_none(self, cname, type, nanny=True):
 *         from .PyrexTypes import py_object_type, typecast
 *         py_none = typecast(type, py_object_type, "Py_None")             # <<<<<<<<<<<<<<
 *         if nanny:
 *             self.putln("%s = %s; __Pyx_INCREF(Py_None);" % (cname, py_none))
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_v_typecast);
    __pyx_t_5 = __pyx_v_typecast; 
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_type, __pyx_v_py_object_type, __pyx_mstate_global->__pyx_n_u_Py_None};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3178, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_py_none = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3179
 *         from .PyrexTypes import py_object_type, typecast
 *         py_none = typecast(type, py_object_type, "Py_None")
 *         if nanny:             # <<<<<<<<<<<<<<
 *             self.putln("%s = %s; __Pyx_INCREF(Py_None);" % (cname, py_none))
 *         else:
*/
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_nanny); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 3179, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "Cython/Compiler/Code.py":3180
 *         py_none = typecast(type, py_object_type, "Py_None")
 *         if nanny:
 *             self.putln("%s = %s; __Pyx_INCREF(Py_None);" % (cname, py_none))             # <<<<<<<<<<<<<<
 *         else:
 *             self.putln("%s = %s; Py_INCREF(Py_None);" % (cname, py_none))
*/
      __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_py_none), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8[0] = __pyx_t_1;
      __pyx_t_8[1] = __pyx_mstate_global->__pyx_kp_u__69;
      __pyx_t_8[2] = __pyx_t_5;
      __pyx_t_8[3] = __pyx_mstate_global->__pyx_kp_u_Pyx_INCREF_Py_None;
      __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_8, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 24, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_9.__pyx_n = 1;
      __pyx_t_9.code = __pyx_t_4;
      __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":3179
 *         from .PyrexTypes import py_object_type, typecast
 *         py_none = typecast(type, py_object_type, "Py_None")
 *         if nanny:             # <<<<<<<<<<<<<<
 *             self.putln("%s = %s; __Pyx_INCREF(Py_None);" % (cname, py_none))
 *         else:
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3182
 *             self.putln("%s = %s; __Pyx_INCREF(Py_None);" % (cname, py_none))
 *         else:
 *             self.putln("%s = %s; Py_INCREF(Py_None);" % (cname, py_none))             # <<<<<<<<<<<<<<
 * 
 *     def put_init_var_to_py_none(self, entry, template = "%s", nanny=True):
*/
    /*else*/ {
      __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cname), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3182, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_py_none), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3182, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_8[0] = __pyx_t_5;
      __pyx_t_8[1] = __pyx_mstate_global->__pyx_kp_u__69;
      __pyx_t_8[2] = __pyx_t_4;
      __pyx_t_8[3] = __pyx_mstate_global->__pyx_kp_u_Py_INCREF_Py_None;
      __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_8, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 21, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3182, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_9.__pyx_n = 1;
      __pyx_t_9.code = __pyx_t_1;
      __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3182, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_L3:;

    /* "Cython/Compiler/Code.py":3176
 *             self.putln("#endif")
 * 
 *     def put_init_to_py_none(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         from .PyrexTypes import py_object_type, typecast
 *         py_none = typecast(type, py_object_type, "Py_None")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_init_to_py_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_py_object_type);
    __Pyx_XDECREF(__pyx_v_typecast);
    __Pyx_XDECREF(__pyx_v_py_none);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3184
 *             self.putln("%s = %s; Py_INCREF(Py_None);" % (cname, py_none))
 * 
 *     def put_init_var_to_py_none(self, entry, template = "%s", nanny=True):             # <<<<<<<<<<<<<<
 *         code = template % entry.cname
 *         #if entry.type.is_extension_type:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_204put_init_var_to_py_none(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_204put_init_var_to_py_none = {"put_init_var_to_py_none", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_204put_init_var_to_py_none, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_204put_init_var_to_py_none(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_template = 0;
    PyObject *__pyx_v_nanny = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_init_var_to_py_none (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,&__pyx_mstate_global->__pyx_n_u_template,&__pyx_mstate_global->__pyx_n_u_nanny,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3184, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3184, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3184, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3184, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_init_var_to_py_none", 0) < (0)) __PYX_ERR(0, 3184, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_s_7));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_init_var_to_py_none", 0, 1, 3, i); __PYX_ERR(0, 3184, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3184, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3184, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3184, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_s_7));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_entry = values[0];
      __pyx_v_template = values[1];
      __pyx_v_nanny = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_init_var_to_py_none", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 3184, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_init_var_to_py_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_203put_init_var_to_py_none(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_template, __pyx_v_nanny);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_203put_init_var_to_py_none(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_template, PyObject *__pyx_v_nanny) {
    PyObject *__pyx_v_code = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    size_t __pyx_t_4;
    int __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_init_var_to_py_none", 0);

    /* "Cython/Compiler/Code.py":3185
 * 
 *     def put_init_var_to_py_none(self, entry, template = "%s", nanny=True):
 *         code = template % entry.cname             # <<<<<<<<<<<<<<
 *         #if entry.type.is_extension_type:
 *         #    code = "((PyObject*)%s)" % code
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_Remainder(__pyx_v_template, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_code = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3188
 *         #if entry.type.is_extension_type:
 *         #    code = "((PyObject*)%s)" % code
 *         self.put_init_to_py_none(code, entry.type, nanny)             # <<<<<<<<<<<<<<
 *         if entry.in_closure:
 *             self.put_giveref('Py_None')
*/
    __pyx_t_1 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_v_code, __pyx_t_3, __pyx_v_nanny};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_init_to_py_none, __pyx_callargs+__pyx_t_4, (4-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3188, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3189
 *         #    code = "((PyObject*)%s)" % code
 *         self.put_init_to_py_none(code, entry.type, nanny)
 *         if entry.in_closure:             # <<<<<<<<<<<<<<
 *             self.put_giveref('Py_None')
 * 
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_in_closure); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 3189, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":3190
 *         self.put_init_to_py_none(code, entry.type, nanny)
 *         if entry.in_closure:
 *             self.put_giveref('Py_None')             # <<<<<<<<<<<<<<
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):
*/
      __pyx_t_3 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Py_None};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_giveref, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3190, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3189
 *         #    code = "((PyObject*)%s)" % code
 *         self.put_init_to_py_none(code, entry.type, nanny)
 *         if entry.in_closure:             # <<<<<<<<<<<<<<
 *             self.put_giveref('Py_None')
 * 
*/
    }

    /* "Cython/Compiler/Code.py":3184
 *             self.putln("%s = %s; Py_INCREF(Py_None);" % (cname, py_none))
 * 
 *     def put_init_var_to_py_none(self, entry, template = "%s", nanny=True):             # <<<<<<<<<<<<<<
 *         code = template % entry.cname
 *         #if entry.type.is_extension_type:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_init_var_to_py_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_code);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3192
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):             # <<<<<<<<<<<<<<
 *         is_number_slot = False
 *         if entry.is_special or entry.name == '__getattribute__':
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_206put_pymethoddef(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_206put_pymethoddef = {"put_pymethoddef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_206put_pymethoddef, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_206put_pymethoddef(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_term = 0;
    PyObject *__pyx_v_allow_skip = 0;
    PyObject *__pyx_v_wrapper_code_writer = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[4] = {0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_pymethoddef (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entry,&__pyx_mstate_global->__pyx_n_u_term,&__pyx_mstate_global->__pyx_n_u_allow_skip,&__pyx_mstate_global->__pyx_n_u_wrapper_code_writer,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3192, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3192, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3192, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3192, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3192, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_pymethoddef", 0) < (0)) __PYX_ERR(0, 3192, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_pymethoddef", 0, 2, 4, i); __PYX_ERR(0, 3192, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3192, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3192, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3192, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3192, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_entry = values[0];
      __pyx_v_term = values[1];
      __pyx_v_allow_skip = values[2];
      __pyx_v_wrapper_code_writer = values[3];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_pymethoddef", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 3192, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_pymethoddef", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_205put_pymethoddef(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_entry, __pyx_v_term, __pyx_v_allow_skip, __pyx_v_wrapper_code_writer);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_205put_pymethoddef(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_term, PyObject *__pyx_v_allow_skip, PyObject *__pyx_v_wrapper_code_writer) {
    int __pyx_v_is_number_slot;
    PyObject *__pyx_v_TypeSlots = NULL;
    PyObject *__pyx_v_method_flags = NULL;
    PyObject *__pyx_v_func_ptr = NULL;
    PyObject *__pyx_v_cast = NULL;
    PyObject *__pyx_v_entry_name = NULL;
    PyObject *__pyx_v_slot = NULL;
    PyObject *__pyx_v_preproc_guard = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    Py_ssize_t __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    size_t __pyx_t_8;
    int __pyx_t_9;
    PyObject *__pyx_t_10[4];
    PyObject *__pyx_t_11 = NULL;
    PyObject *__pyx_t_12 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_13;
    PyObject *__pyx_t_14[10];
    PyObject *__pyx_t_15 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_pymethoddef", 0);

    /* "Cython/Compiler/Code.py":3193
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):
 *         is_number_slot = False             # <<<<<<<<<<<<<<
 *         if entry.is_special or entry.name == '__getattribute__':
 *             from . import TypeSlots
*/
    __pyx_v_is_number_slot = 0;

    /* "Cython/Compiler/Code.py":3194
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):
 *         is_number_slot = False
 *         if entry.is_special or entry.name == '__getattribute__':             # <<<<<<<<<<<<<<
 *             from . import TypeSlots
 *             if entry.name not in special_py_methods:
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_special); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3194, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!__pyx_t_3) {
    } else {
      __pyx_t_1 = __pyx_t_3;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_getattribute, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3194, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __pyx_t_3;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3195
 *         is_number_slot = False
 *         if entry.is_special or entry.name == '__getattribute__':
 *             from . import TypeSlots             # <<<<<<<<<<<<<<
 *             if entry.name not in special_py_methods:
 *                 if TypeSlots.is_binop_number_slot(entry.name):
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_TypeSlots};
        __pyx_t_4 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3195, __pyx_L1_error)
      }
      __pyx_t_2 = __pyx_t_4;
      __Pyx_GOTREF(__pyx_t_2);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_TypeSlots};
        __pyx_t_5 = 0; {
          __pyx_t_6 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_5]); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3195, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          switch (__pyx_t_5) {
            case 0:
            __Pyx_INCREF(__pyx_t_6);
            __pyx_v_TypeSlots = __pyx_t_6;
            break;
            default:;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3196
 *         if entry.is_special or entry.name == '__getattribute__':
 *             from . import TypeSlots
 *             if entry.name not in special_py_methods:             # <<<<<<<<<<<<<<
 *                 if TypeSlots.is_binop_number_slot(entry.name):
 *                     # It's useful if numeric binops are created with meth coexist
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_t_2, __pyx_v_6Cython_8Compiler_4Code_special_py_methods, Py_NE)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3196, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":3197
 *             from . import TypeSlots
 *             if entry.name not in special_py_methods:
 *                 if TypeSlots.is_binop_number_slot(entry.name):             # <<<<<<<<<<<<<<
 *                     # It's useful if numeric binops are created with meth coexist
 *                     # so they can be called directly by looking up the name, skipping the
*/
        __pyx_t_6 = __pyx_v_TypeSlots;
        __Pyx_INCREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3197, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_8 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
          __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_is_binop_number_slot, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3197, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3197, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (__pyx_t_1) {

          /* "Cython/Compiler/Code.py":3203
 *                     # when c_api_binop_methods is False, but there's no reason not to do it
 *                     # all the time
 *                     is_number_slot = True             # <<<<<<<<<<<<<<
 *                 elif entry.name == '__getattr__' and not self.globalstate.directives['fast_getattr']:
 *                     pass
*/
          __pyx_v_is_number_slot = 1;

          /* "Cython/Compiler/Code.py":3197
 *             from . import TypeSlots
 *             if entry.name not in special_py_methods:
 *                 if TypeSlots.is_binop_number_slot(entry.name):             # <<<<<<<<<<<<<<
 *                     # It's useful if numeric binops are created with meth coexist
 *                     # so they can be called directly by looking up the name, skipping the
*/
          goto __pyx_L7;
        }

        /* "Cython/Compiler/Code.py":3204
 *                     # all the time
 *                     is_number_slot = True
 *                 elif entry.name == '__getattr__' and not self.globalstate.directives['fast_getattr']:             # <<<<<<<<<<<<<<
 *                     pass
 *                 # Python's typeobject.c will automatically fill in our slot
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3204, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_getattr, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3204, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (__pyx_t_3) {
        } else {
          __pyx_t_1 = __pyx_t_3;
          goto __pyx_L8_bool_binop_done;
        }
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3204, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_fast_getattr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3204, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3204, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_9 = (!__pyx_t_3);
        __pyx_t_1 = __pyx_t_9;
        __pyx_L8_bool_binop_done:;
        if (__pyx_t_1) {
          goto __pyx_L7;
        }

        /* "Cython/Compiler/Code.py":3209
 *                 # in add_operators() (called by PyType_Ready) with a value
 *                 # that's better than ours.
 *                 elif allow_skip:             # <<<<<<<<<<<<<<
 *                     return
 * 
*/
        __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_allow_skip); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3209, __pyx_L1_error)
        if (__pyx_t_1) {

          /* "Cython/Compiler/Code.py":3210
 *                 # that's better than ours.
 *                 elif allow_skip:
 *                     return             # <<<<<<<<<<<<<<
 * 
 *         method_flags = entry.signature.method_flags()
*/
          __Pyx_XDECREF(__pyx_r);
          __pyx_r = Py_None; __Pyx_INCREF(Py_None);
          goto __pyx_L0;

          /* "Cython/Compiler/Code.py":3209
 *                 # in add_operators() (called by PyType_Ready) with a value
 *                 # that's better than ours.
 *                 elif allow_skip:             # <<<<<<<<<<<<<<
 *                     return
 * 
*/
        }
        __pyx_L7:;

        /* "Cython/Compiler/Code.py":3196
 *         if entry.is_special or entry.name == '__getattribute__':
 *             from . import TypeSlots
 *             if entry.name not in special_py_methods:             # <<<<<<<<<<<<<<
 *                 if TypeSlots.is_binop_number_slot(entry.name):
 *                     # It's useful if numeric binops are created with meth coexist
*/
      }

      /* "Cython/Compiler/Code.py":3194
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):
 *         is_number_slot = False
 *         if entry.is_special or entry.name == '__getattribute__':             # <<<<<<<<<<<<<<
 *             from . import TypeSlots
 *             if entry.name not in special_py_methods:
*/
    }

    /* "Cython/Compiler/Code.py":3212
 *                     return
 * 
 *         method_flags = entry.signature.method_flags()             # <<<<<<<<<<<<<<
 *         if not method_flags:
 *             return
*/
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_signature); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_method_flags, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3212, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_v_method_flags = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3213
 * 
 *         method_flags = entry.signature.method_flags()
 *         if not method_flags:             # <<<<<<<<<<<<<<
 *             return
 *         if entry.is_special:
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_method_flags); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3213, __pyx_L1_error)
    __pyx_t_9 = (!__pyx_t_1);
    if (__pyx_t_9) {

      /* "Cython/Compiler/Code.py":3214
 *         method_flags = entry.signature.method_flags()
 *         if not method_flags:
 *             return             # <<<<<<<<<<<<<<
 *         if entry.is_special:
 *             method_flags += [TypeSlots.method_coexist]
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":3213
 * 
 *         method_flags = entry.signature.method_flags()
 *         if not method_flags:             # <<<<<<<<<<<<<<
 *             return
 *         if entry.is_special:
*/
    }

    /* "Cython/Compiler/Code.py":3215
 *         if not method_flags:
 *             return
 *         if entry.is_special:             # <<<<<<<<<<<<<<
 *             method_flags += [TypeSlots.method_coexist]
 *         func_ptr = wrapper_code_writer.put_pymethoddef_wrapper(entry) if wrapper_code_writer else entry.func_cname
*/
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_special); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 3215, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (__pyx_t_9) {

      /* "Cython/Compiler/Code.py":3216
 *             return
 *         if entry.is_special:
 *             method_flags += [TypeSlots.method_coexist]             # <<<<<<<<<<<<<<
 *         func_ptr = wrapper_code_writer.put_pymethoddef_wrapper(entry) if wrapper_code_writer else entry.func_cname
 *         # Add required casts, but try not to shadow real warnings.
*/
      if (unlikely(!__pyx_v_TypeSlots)) { __Pyx_RaiseUnboundLocalError("TypeSlots"); __PYX_ERR(0, 3216, __pyx_L1_error) }
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_TypeSlots, __pyx_mstate_global->__pyx_n_u_method_coexist); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3216, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3216, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_7);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 3216, __pyx_L1_error);
      __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_method_flags, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3216, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF_SET(__pyx_v_method_flags, __pyx_t_7);
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":3215
 *         if not method_flags:
 *             return
 *         if entry.is_special:             # <<<<<<<<<<<<<<
 *             method_flags += [TypeSlots.method_coexist]
 *         func_ptr = wrapper_code_writer.put_pymethoddef_wrapper(entry) if wrapper_code_writer else entry.func_cname
*/
    }

    /* "Cython/Compiler/Code.py":3217
 *         if entry.is_special:
 *             method_flags += [TypeSlots.method_coexist]
 *         func_ptr = wrapper_code_writer.put_pymethoddef_wrapper(entry) if wrapper_code_writer else entry.func_cname             # <<<<<<<<<<<<<<
 *         # Add required casts, but try not to shadow real warnings.
 *         cast = entry.signature.method_function_type()
*/
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_wrapper_code_writer); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 3217, __pyx_L1_error)
    if (__pyx_t_9) {
      __pyx_t_2 = __pyx_v_wrapper_code_writer;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_entry};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_put_pymethoddef_wrapper, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3217, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_7 = __pyx_t_6;
      __pyx_t_6 = 0;
    } else {
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_func_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3217, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __pyx_t_6;
      __pyx_t_6 = 0;
    }
    __pyx_v_func_ptr = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3219
 *         func_ptr = wrapper_code_writer.put_pymethoddef_wrapper(entry) if wrapper_code_writer else entry.func_cname
 *         # Add required casts, but try not to shadow real warnings.
 *         cast = entry.signature.method_function_type()             # <<<<<<<<<<<<<<
 *         if cast != 'PyCFunction':
 *             func_ptr = '(void(*)(void))(%s)%s' % (cast, func_ptr)
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_signature); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __pyx_t_2;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_method_function_type, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3219, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_v_cast = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3220
 *         # Add required casts, but try not to shadow real warnings.
 *         cast = entry.signature.method_function_type()
 *         if cast != 'PyCFunction':             # <<<<<<<<<<<<<<
 *             func_ptr = '(void(*)(void))(%s)%s' % (cast, func_ptr)
 *         entry_name = entry.name.as_c_string_literal()
*/
    __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_v_cast, __pyx_mstate_global->__pyx_n_u_PyCFunction, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 3220, __pyx_L1_error)
    if (__pyx_t_9) {

      /* "Cython/Compiler/Code.py":3221
 *         cast = entry.signature.method_function_type()
 *         if cast != 'PyCFunction':
 *             func_ptr = '(void(*)(void))(%s)%s' % (cast, func_ptr)             # <<<<<<<<<<<<<<
 *         entry_name = entry.name.as_c_string_literal()
 *         if is_number_slot:
*/
      __pyx_t_7 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_cast), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3221, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_func_ptr), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3221, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u_void_void;
      __pyx_t_10[1] = __pyx_t_7;
      __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u__7;
      __pyx_t_10[3] = __pyx_t_2;
      __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_10, 4, 16 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3221, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF_SET(__pyx_v_func_ptr, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":3220
 *         # Add required casts, but try not to shadow real warnings.
 *         cast = entry.signature.method_function_type()
 *         if cast != 'PyCFunction':             # <<<<<<<<<<<<<<
 *             func_ptr = '(void(*)(void))(%s)%s' % (cast, func_ptr)
 *         entry_name = entry.name.as_c_string_literal()
*/
    }

    /* "Cython/Compiler/Code.py":3222
 *         if cast != 'PyCFunction':
 *             func_ptr = '(void(*)(void))(%s)%s' % (cast, func_ptr)
 *         entry_name = entry.name.as_c_string_literal()             # <<<<<<<<<<<<<<
 *         if is_number_slot:
 *             # Unlike most special functions, binop numeric operator slots are actually generated here
*/
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __pyx_t_7;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_as_c_string_literal, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3222, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_entry_name = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":3223
 *             func_ptr = '(void(*)(void))(%s)%s' % (cast, func_ptr)
 *         entry_name = entry.name.as_c_string_literal()
 *         if is_number_slot:             # <<<<<<<<<<<<<<
 *             # Unlike most special functions, binop numeric operator slots are actually generated here
 *             # (to ensure that they can be looked up). However, they're sometimes guarded by the preprocessor
*/
    if (__pyx_v_is_number_slot) {

      /* "Cython/Compiler/Code.py":3227
 *             # (to ensure that they can be looked up). However, they're sometimes guarded by the preprocessor
 *             # so a bit of extra logic is needed
 *             slot = TypeSlots.get_slot_table(self.globalstate.directives).get_slot_by_method_name(entry.name)             # <<<<<<<<<<<<<<
 *             preproc_guard = slot.preprocessor_guard_code()
 *             if preproc_guard:
*/
      if (unlikely(!__pyx_v_TypeSlots)) { __Pyx_RaiseUnboundLocalError("TypeSlots"); __PYX_ERR(0, 3227, __pyx_L1_error) }
      __pyx_t_11 = __pyx_v_TypeSlots;
      __Pyx_INCREF(__pyx_t_11);
      __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3227, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_12};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_slot_table, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3227, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_7 = __pyx_t_2;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3227, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_12};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get_slot_by_method_name, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3227, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_v_slot = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":3228
 *             # so a bit of extra logic is needed
 *             slot = TypeSlots.get_slot_table(self.globalstate.directives).get_slot_by_method_name(entry.name)
 *             preproc_guard = slot.preprocessor_guard_code()             # <<<<<<<<<<<<<<
 *             if preproc_guard:
 *                 self.putln(preproc_guard)
*/
      __pyx_t_2 = __pyx_v_slot;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_8 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_preprocessor_guard_code, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3228, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_v_preproc_guard = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":3229
 *             slot = TypeSlots.get_slot_table(self.globalstate.directives).get_slot_by_method_name(entry.name)
 *             preproc_guard = slot.preprocessor_guard_code()
 *             if preproc_guard:             # <<<<<<<<<<<<<<
 *                 self.putln(preproc_guard)
 *         self.putln(
*/
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_preproc_guard); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 3229, __pyx_L1_error)
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":3230
 *             preproc_guard = slot.preprocessor_guard_code()
 *             if preproc_guard:
 *                 self.putln(preproc_guard)             # <<<<<<<<<<<<<<
 *         self.putln(
 *             '{%s, (PyCFunction)%s, %s, %s}%s' % (
*/
        __pyx_t_13.__pyx_n = 1;
        __pyx_t_13.code = __pyx_v_preproc_guard;
        __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_13); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3230, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":3229
 *             slot = TypeSlots.get_slot_table(self.globalstate.directives).get_slot_by_method_name(entry.name)
 *             preproc_guard = slot.preprocessor_guard_code()
 *             if preproc_guard:             # <<<<<<<<<<<<<<
 *                 self.putln(preproc_guard)
 *         self.putln(
*/
      }

      /* "Cython/Compiler/Code.py":3223
 *             func_ptr = '(void(*)(void))(%s)%s' % (cast, func_ptr)
 *         entry_name = entry.name.as_c_string_literal()
 *         if is_number_slot:             # <<<<<<<<<<<<<<
 *             # Unlike most special functions, binop numeric operator slots are actually generated here
 *             # (to ensure that they can be looked up). However, they're sometimes guarded by the preprocessor
*/
    }

    /* "Cython/Compiler/Code.py":3233
 *         self.putln(
 *             '{%s, (PyCFunction)%s, %s, %s}%s' % (
 *                 entry_name,             # <<<<<<<<<<<<<<
 *                 func_ptr,
 *                 "|".join(method_flags),
*/
    __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_entry_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);

    /* "Cython/Compiler/Code.py":3234
 *             '{%s, (PyCFunction)%s, %s, %s}%s' % (
 *                 entry_name,
 *                 func_ptr,             # <<<<<<<<<<<<<<
 *                 "|".join(method_flags),
 *                 entry.doc_cname if entry.doc else '0',
*/
    __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_func_ptr), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":3235
 *                 entry_name,
 *                 func_ptr,
 *                 "|".join(method_flags),             # <<<<<<<<<<<<<<
 *                 entry.doc_cname if entry.doc else '0',
 *                 term))
*/
    __pyx_t_12 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__71, __pyx_v_method_flags); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);

    /* "Cython/Compiler/Code.py":3236
 *                 func_ptr,
 *                 "|".join(method_flags),
 *                 entry.doc_cname if entry.doc else '0',             # <<<<<<<<<<<<<<
 *                 term))
 *         if is_number_slot and preproc_guard:
*/
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_doc); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 3236, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (__pyx_t_9) {
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_doc_cname); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3236, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_7 = __pyx_t_11;
      __pyx_t_11 = 0;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_0);
      __pyx_t_7 = __pyx_mstate_global->__pyx_kp_u_0;
    }
    __pyx_t_11 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_7), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3237
 *                 "|".join(method_flags),
 *                 entry.doc_cname if entry.doc else '0',
 *                 term))             # <<<<<<<<<<<<<<
 *         if is_number_slot and preproc_guard:
 *             self.putln("#endif")
*/
    __pyx_t_7 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_term), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_14[0] = __pyx_mstate_global->__pyx_kp_u__54;
    __pyx_t_14[1] = __pyx_t_6;
    __pyx_t_14[2] = __pyx_mstate_global->__pyx_kp_u_PyCFunction_2;
    __pyx_t_14[3] = __pyx_t_2;
    __pyx_t_14[4] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_14[5] = __pyx_t_12;
    __pyx_t_14[6] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_14[7] = __pyx_t_11;
    __pyx_t_14[8] = __pyx_mstate_global->__pyx_kp_u__43;
    __pyx_t_14[9] = __pyx_t_7;

    /* "Cython/Compiler/Code.py":3232
 *                 self.putln(preproc_guard)
 *         self.putln(
 *             '{%s, (PyCFunction)%s, %s, %s}%s' % (             # <<<<<<<<<<<<<<
 *                 entry_name,
 *                 func_ptr,
*/
    __pyx_t_15 = __Pyx_PyUnicode_Join(__pyx_t_14, 10, 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 15 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7));
    if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3231
 *             if preproc_guard:
 *                 self.putln(preproc_guard)
 *         self.putln(             # <<<<<<<<<<<<<<
 *             '{%s, (PyCFunction)%s, %s, %s}%s' % (
 *                 entry_name,
*/
    __pyx_t_13.__pyx_n = 1;
    __pyx_t_13.code = __pyx_t_15;
    __pyx_t_7 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3238
 *                 entry.doc_cname if entry.doc else '0',
 *                 term))
 *         if is_number_slot and preproc_guard:             # <<<<<<<<<<<<<<
 *             self.putln("#endif")
 * 
*/
    if (__pyx_v_is_number_slot) {
    } else {
      __pyx_t_9 = __pyx_v_is_number_slot;
      goto __pyx_L16_bool_binop_done;
    }
    if (unlikely(!__pyx_v_preproc_guard)) { __Pyx_RaiseUnboundLocalError("preproc_guard"); __PYX_ERR(0, 3238, __pyx_L1_error) }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_preproc_guard); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3238, __pyx_L1_error)
    __pyx_t_9 = __pyx_t_1;
    __pyx_L16_bool_binop_done:;
    if (__pyx_t_9) {

      /* "Cython/Compiler/Code.py":3239
 *                 term))
 *         if is_number_slot and preproc_guard:
 *             self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_pymethoddef_wrapper(self, entry):
*/
      __pyx_t_13.__pyx_n = 1;
      __pyx_t_13.code = __pyx_mstate_global->__pyx_kp_u_endif;
      __pyx_t_7 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3239, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":3238
 *                 entry.doc_cname if entry.doc else '0',
 *                 term))
 *         if is_number_slot and preproc_guard:             # <<<<<<<<<<<<<<
 *             self.putln("#endif")
 * 
*/
    }

    /* "Cython/Compiler/Code.py":3192
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):             # <<<<<<<<<<<<<<
 *         is_number_slot = False
 *         if entry.is_special or entry.name == '__getattribute__':
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_11);
    __Pyx_XDECREF(__pyx_t_12);
    __Pyx_XDECREF(__pyx_t_15);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_pymethoddef", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_TypeSlots);
    __Pyx_XDECREF(__pyx_v_method_flags);
    __Pyx_XDECREF(__pyx_v_func_ptr);
    __Pyx_XDECREF(__pyx_v_cast);
    __Pyx_XDECREF(__pyx_v_entry_name);
    __Pyx_XDECREF(__pyx_v_slot);
    __Pyx_XDECREF(__pyx_v_preproc_guard);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3241
 *             self.putln("#endif")
 * 
 *     def put_pymethoddef_wrapper(self, entry):             # <<<<<<<<<<<<<<
 *         func_cname = entry.func_cname
 *         if entry.is_special:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_208put_pymethoddef_wrapper(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_208put_pymethoddef_wrapper = {"put_pymethoddef_wrapper", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_208put_pymethoddef_wrapper, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_208put_pymethoddef_wrapper(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_pymethoddef_wrapper (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_207put_pymethoddef_wrapper(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_entry));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_207put_pymethoddef_wrapper(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_entry) {
    PyObject *__pyx_v_func_cname = NULL;
    PyObject *__pyx_v_method_flags = NULL;
    PyObject *__pyx_v_method_noargs = NULL;
    PyObject *__pyx_v_func_call = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    PyObject *__pyx_t_7 = NULL;
    Py_ssize_t __pyx_t_8;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_pymethoddef_wrapper", 0);

    /* "Cython/Compiler/Code.py":3242
 * 
 *     def put_pymethoddef_wrapper(self, entry):
 *         func_cname = entry.func_cname             # <<<<<<<<<<<<<<
 *         if entry.is_special:
 *             method_flags = entry.signature.method_flags() or []
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_func_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_func_cname = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3243
 *     def put_pymethoddef_wrapper(self, entry):
 *         func_cname = entry.func_cname
 *         if entry.is_special:             # <<<<<<<<<<<<<<
 *             method_flags = entry.signature.method_flags() or []
 *             from .TypeSlots import method_noargs
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_special); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3244
 *         func_cname = entry.func_cname
 *         if entry.is_special:
 *             method_flags = entry.signature.method_flags() or []             # <<<<<<<<<<<<<<
 *             from .TypeSlots import method_noargs
 *             if method_noargs in method_flags:
*/
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_signature); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3244, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __pyx_t_5;
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_method_flags, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3244, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3244, __pyx_L1_error)
      if (!__pyx_t_2) {
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        __Pyx_INCREF(__pyx_t_3);
        __pyx_t_1 = __pyx_t_3;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        goto __pyx_L4_bool_binop_done;
      }
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3244, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = __pyx_t_3;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_L4_bool_binop_done:;
      __pyx_v_method_flags = __pyx_t_1;
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3245
 *         if entry.is_special:
 *             method_flags = entry.signature.method_flags() or []
 *             from .TypeSlots import method_noargs             # <<<<<<<<<<<<<<
 *             if method_noargs in method_flags:
 *                 # Special NOARGS methods really take no arguments besides 'self', but PyCFunction expects one.
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_method_noargs};
        __pyx_t_7 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_TypeSlots, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler_TypeSlots, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3245, __pyx_L1_error)
      }
      __pyx_t_1 = __pyx_t_7;
      __Pyx_GOTREF(__pyx_t_1);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_method_noargs};
        __pyx_t_8 = 0; {
          __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_1, __pyx_imported_names[__pyx_t_8]); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3245, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          switch (__pyx_t_8) {
            case 0:
            __Pyx_INCREF(__pyx_t_3);
            __pyx_v_method_noargs = __pyx_t_3;
            break;
            default:;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3246
 *             method_flags = entry.signature.method_flags() or []
 *             from .TypeSlots import method_noargs
 *             if method_noargs in method_flags:             # <<<<<<<<<<<<<<
 *                 # Special NOARGS methods really take no arguments besides 'self', but PyCFunction expects one.
 *                 func_cname = Naming.method_wrapper_prefix + func_cname
*/
      __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_method_noargs, __pyx_v_method_flags, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3246, __pyx_L1_error)
      if (__pyx_t_2) {

        /* "Cython/Compiler/Code.py":3248
 *             if method_noargs in method_flags:
 *                 # Special NOARGS methods really take no arguments besides 'self', but PyCFunction expects one.
 *                 func_cname = Naming.method_wrapper_prefix + func_cname             # <<<<<<<<<<<<<<
 *                 self.putln("static PyObject *%s(PyObject *self, CYTHON_UNUSED PyObject *arg) {" % func_cname)
 *                 func_call = "%s(self)" % entry.func_cname
*/
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_method_wrapper_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_v_func_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF_SET(__pyx_v_func_cname, __pyx_t_3);
        __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":3249
 *                 # Special NOARGS methods really take no arguments besides 'self', but PyCFunction expects one.
 *                 func_cname = Naming.method_wrapper_prefix + func_cname
 *                 self.putln("static PyObject *%s(PyObject *self, CYTHON_UNUSED PyObject *arg) {" % func_cname)             # <<<<<<<<<<<<<<
 *                 func_call = "%s(self)" % entry.func_cname
 *                 if entry.name == "__next__":
*/
        __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_static_PyObject_s_PyObject_self, __pyx_v_func_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3249, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_9.__pyx_n = 1;
        __pyx_t_9.code = __pyx_t_3;
        __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3249, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

        /* "Cython/Compiler/Code.py":3250
 *                 func_cname = Naming.method_wrapper_prefix + func_cname
 *                 self.putln("static PyObject *%s(PyObject *self, CYTHON_UNUSED PyObject *arg) {" % func_cname)
 *                 func_call = "%s(self)" % entry.func_cname             # <<<<<<<<<<<<<<
 *                 if entry.name == "__next__":
 *                     self.putln("PyObject *res = %s;" % func_call)
*/
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_func_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3250, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_self, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3250, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_v_func_call = ((PyObject*)__pyx_t_3);
        __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":3251
 *                 self.putln("static PyObject *%s(PyObject *self, CYTHON_UNUSED PyObject *arg) {" % func_cname)
 *                 func_call = "%s(self)" % entry.func_cname
 *                 if entry.name == "__next__":             # <<<<<<<<<<<<<<
 *                     self.putln("PyObject *res = %s;" % func_call)
 *                     # tp_iternext can return NULL without an exception
*/
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3251, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_next, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3251, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (__pyx_t_2) {

          /* "Cython/Compiler/Code.py":3252
 *                 func_call = "%s(self)" % entry.func_cname
 *                 if entry.name == "__next__":
 *                     self.putln("PyObject *res = %s;" % func_call)             # <<<<<<<<<<<<<<
 *                     # tp_iternext can return NULL without an exception
 *                     self.putln("if (!res && !PyErr_Occurred()) { PyErr_SetNone(PyExc_StopIteration); }")
*/
          __pyx_t_3 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_PyObject_res_s, __pyx_v_func_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3252, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_9.__pyx_n = 1;
          __pyx_t_9.code = __pyx_t_3;
          __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3252, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "Cython/Compiler/Code.py":3254
 *                     self.putln("PyObject *res = %s;" % func_call)
 *                     # tp_iternext can return NULL without an exception
 *                     self.putln("if (!res && !PyErr_Occurred()) { PyErr_SetNone(PyExc_StopIteration); }")             # <<<<<<<<<<<<<<
 *                     self.putln("return res;")
 *                 else:
*/
          __pyx_t_9.__pyx_n = 1;
          __pyx_t_9.code = __pyx_mstate_global->__pyx_kp_u_if_res_PyErr_Occurred_PyErr_SetN;
          __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3254, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "Cython/Compiler/Code.py":3255
 *                     # tp_iternext can return NULL without an exception
 *                     self.putln("if (!res && !PyErr_Occurred()) { PyErr_SetNone(PyExc_StopIteration); }")
 *                     self.putln("return res;")             # <<<<<<<<<<<<<<
 *                 else:
 *                     self.putln("return %s;" % func_call)
*/
          __pyx_t_9.__pyx_n = 1;
          __pyx_t_9.code = __pyx_mstate_global->__pyx_kp_u_return_res;
          __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3255, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "Cython/Compiler/Code.py":3251
 *                 self.putln("static PyObject *%s(PyObject *self, CYTHON_UNUSED PyObject *arg) {" % func_cname)
 *                 func_call = "%s(self)" % entry.func_cname
 *                 if entry.name == "__next__":             # <<<<<<<<<<<<<<
 *                     self.putln("PyObject *res = %s;" % func_call)
 *                     # tp_iternext can return NULL without an exception
*/
          goto __pyx_L7;
        }

        /* "Cython/Compiler/Code.py":3257
 *                     self.putln("return res;")
 *                 else:
 *                     self.putln("return %s;" % func_call)             # <<<<<<<<<<<<<<
 *                 self.putln("}")
 *         return func_cname
*/
        /*else*/ {
          __pyx_t_1 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_return_s, __pyx_v_func_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3257, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_9.__pyx_n = 1;
          __pyx_t_9.code = __pyx_t_1;
          __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3257, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_L7:;

        /* "Cython/Compiler/Code.py":3258
 *                 else:
 *                     self.putln("return %s;" % func_call)
 *                 self.putln("}")             # <<<<<<<<<<<<<<
 *         return func_cname
 * 
*/
        __pyx_t_9.__pyx_n = 1;
        __pyx_t_9.code = __pyx_mstate_global->__pyx_kp_u__43;
        __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3258, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":3246
 *             method_flags = entry.signature.method_flags() or []
 *             from .TypeSlots import method_noargs
 *             if method_noargs in method_flags:             # <<<<<<<<<<<<<<
 *                 # Special NOARGS methods really take no arguments besides 'self', but PyCFunction expects one.
 *                 func_cname = Naming.method_wrapper_prefix + func_cname
*/
      }

      /* "Cython/Compiler/Code.py":3243
 *     def put_pymethoddef_wrapper(self, entry):
 *         func_cname = entry.func_cname
 *         if entry.is_special:             # <<<<<<<<<<<<<<
 *             method_flags = entry.signature.method_flags() or []
 *             from .TypeSlots import method_noargs
*/
    }

    /* "Cython/Compiler/Code.py":3259
 *                     self.putln("return %s;" % func_call)
 *                 self.putln("}")
 *         return func_cname             # <<<<<<<<<<<<<<
 * 
 *     # GIL methods
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_func_cname);
    __pyx_r = __pyx_v_func_cname;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3241
 *             self.putln("#endif")
 * 
 *     def put_pymethoddef_wrapper(self, entry):             # <<<<<<<<<<<<<<
 *         func_cname = entry.func_cname
 *         if entry.is_special:
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_pymethoddef_wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_func_cname);
    __Pyx_XDECREF(__pyx_v_method_flags);
    __Pyx_XDECREF(__pyx_v_method_noargs);
    __Pyx_XDECREF(__pyx_v_func_call);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3263
 *     # GIL methods
 * 
 *     def use_fast_gil_utility_code(self):             # <<<<<<<<<<<<<<
 *         if self.globalstate.directives['fast_gil']:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_210use_fast_gil_utility_code(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_210use_fast_gil_utility_code = {"use_fast_gil_utility_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_210use_fast_gil_utility_code, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_210use_fast_gil_utility_code(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("use_fast_gil_utility_code (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_209use_fast_gil_utility_code(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_209use_fast_gil_utility_code(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("use_fast_gil_utility_code", 0);

    /* "Cython/Compiler/Code.py":3264
 * 
 *     def use_fast_gil_utility_code(self):
 *         if self.globalstate.directives['fast_gil']:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))
 *         else:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_fast_gil); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3264, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":3265
 *     def use_fast_gil_utility_code(self):
 *         if self.globalstate.directives['fast_gil']:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         else:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("NoFastGil", "ModuleSetupCode.c"))
*/
      __pyx_t_1 = __pyx_v_self->globalstate;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3265, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[22], NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3265, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3265, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3264
 * 
 *     def use_fast_gil_utility_code(self):
 *         if self.globalstate.directives['fast_gil']:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))
 *         else:
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3267
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))
 *         else:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("NoFastGil", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 * 
 *     def put_ensure_gil(self, declare_gilstate=True, variable=None):
*/
    /*else*/ {
      __pyx_t_5 = __pyx_v_self->globalstate;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3267, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[23], NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3267, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3267, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_L3:;

    /* "Cython/Compiler/Code.py":3263
 *     # GIL methods
 * 
 *     def use_fast_gil_utility_code(self):             # <<<<<<<<<<<<<<
 *         if self.globalstate.directives['fast_gil']:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.use_fast_gil_utility_code", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3269
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("NoFastGil", "ModuleSetupCode.c"))
 * 
 *     def put_ensure_gil(self, declare_gilstate=True, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The generated code is safe even when no PyThreadState
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_212put_ensure_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_211put_ensure_gil, "\n        Acquire the GIL. The generated code is safe even when no PyThreadState\n        has been allocated for this thread (for threads not initialized by\n        using the Python API). Additionally, the code generated by this method\n        may be called recursively.\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_212put_ensure_gil = {"put_ensure_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_212put_ensure_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_211put_ensure_gil};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_212put_ensure_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_declare_gilstate = 0;
    PyObject *__pyx_v_variable = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_ensure_gil (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_declare_gilstate,&__pyx_mstate_global->__pyx_n_u_variable,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3269, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3269, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3269, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_ensure_gil", 0) < (0)) __PYX_ERR(0, 3269, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3269, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3269, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_declare_gilstate = values[0];
      __pyx_v_variable = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_ensure_gil", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 3269, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_ensure_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_211put_ensure_gil(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_declare_gilstate, __pyx_v_variable);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_211put_ensure_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_declare_gilstate, PyObject *__pyx_v_variable) {
    PyObject *__pyx_v_warning = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    Py_ssize_t __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    PyObject *__pyx_t_8 = NULL;
    int __pyx_t_9;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_10;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_ensure_gil", 0);
    __Pyx_INCREF(__pyx_v_variable);

    /* "Cython/Compiler/Code.py":3276
 *         may be called recursively.
 *         """
 *         if self.globalstate.directives['subinterpreters_compatible'] != 'no':             # <<<<<<<<<<<<<<
 *             from .Errors import warning
 *             warning(
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_subinterpreters_compatible); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_no, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3276, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":3277
 *         """
 *         if self.globalstate.directives['subinterpreters_compatible'] != 'no':
 *             from .Errors import warning             # <<<<<<<<<<<<<<
 *             warning(
 *                 self.last_marked_pos,
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_warning};
        __pyx_t_4 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_Errors, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler_Errors, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3277, __pyx_L1_error)
      }
      __pyx_t_2 = __pyx_t_4;
      __Pyx_GOTREF(__pyx_t_2);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_warning};
        __pyx_t_5 = 0; {
          __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_5]); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          switch (__pyx_t_5) {
            case 0:
            __Pyx_INCREF(__pyx_t_1);
            __pyx_v_warning = __pyx_t_1;
            break;
            default:;
          }
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3278
 *         if self.globalstate.directives['subinterpreters_compatible'] != 'no':
 *             from .Errors import warning
 *             warning(             # <<<<<<<<<<<<<<
 *                 self.last_marked_pos,
 *                 "Acquiring the GIL is currently very unlikely to work correctly with subinterpreters.",
*/
      __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_v_warning);
      __pyx_t_6 = __pyx_v_warning; 

      /* "Cython/Compiler/Code.py":3279
 *             from .Errors import warning
 *             warning(
 *                 self.last_marked_pos,             # <<<<<<<<<<<<<<
 *                 "Acquiring the GIL is currently very unlikely to work correctly with subinterpreters.",
 *                 2
*/
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_1);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_v_self->last_marked_pos, __pyx_mstate_global->__pyx_kp_u_Acquiring_the_GIL_is_currently_v, __pyx_mstate_global->__pyx_int_2};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (4-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3278, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3276
 *         may be called recursively.
 *         """
 *         if self.globalstate.directives['subinterpreters_compatible'] != 'no':             # <<<<<<<<<<<<<<
 *             from .Errors import warning
 *             warning(
*/
    }

    /* "Cython/Compiler/Code.py":3283
 *                 2
 *             )
 *         self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.use_fast_gil_utility_code()
*/
    __pyx_t_6 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_6);

    /* "Cython/Compiler/Code.py":3284
 *             )
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         self.use_fast_gil_utility_code()
 *         if not variable:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[24], NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3283, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3285
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.use_fast_gil_utility_code()             # <<<<<<<<<<<<<<
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
*/
    __pyx_t_8 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_fast_gil_utility_code, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3285, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3286
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.use_fast_gil_utility_code()
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:
*/
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3286, __pyx_L1_error)
    __pyx_t_9 = (!__pyx_t_3);
    if (__pyx_t_9) {

      /* "Cython/Compiler/Code.py":3287
 *         self.use_fast_gil_utility_code()
 *         if not variable:
 *             variable = '__pyx_gilstate_save'             # <<<<<<<<<<<<<<
 *             if declare_gilstate:
 *                 self.put("PyGILState_STATE ")
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_pyx_gilstate_save);
      __Pyx_DECREF_SET(__pyx_v_variable, __pyx_mstate_global->__pyx_n_u_pyx_gilstate_save);

      /* "Cython/Compiler/Code.py":3288
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:             # <<<<<<<<<<<<<<
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = __Pyx_PyGILState_Ensure();" % variable)
*/
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_declare_gilstate); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 3288, __pyx_L1_error)
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":3289
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:
 *                 self.put("PyGILState_STATE ")             # <<<<<<<<<<<<<<
 *         self.putln("%s = __Pyx_PyGILState_Ensure();" % variable)
 * 
*/
        __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->put(__pyx_v_self, __pyx_mstate_global->__pyx_kp_u_PyGILState_STATE, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3289, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":3288
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:             # <<<<<<<<<<<<<<
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = __Pyx_PyGILState_Ensure();" % variable)
*/
      }

      /* "Cython/Compiler/Code.py":3286
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.use_fast_gil_utility_code()
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:
*/
    }

    /* "Cython/Compiler/Code.py":3290
 *             if declare_gilstate:
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = __Pyx_PyGILState_Ensure();" % variable)             # <<<<<<<<<<<<<<
 * 
 *     def put_release_ensured_gil(self, variable=None):
*/
    __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s___Pyx_PyGILState_Ensure, __pyx_v_variable); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10.__pyx_n = 1;
    __pyx_t_10.code = __pyx_t_2;
    __pyx_t_8 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":3269
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("NoFastGil", "ModuleSetupCode.c"))
 * 
 *     def put_ensure_gil(self, declare_gilstate=True, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The generated code is safe even when no PyThreadState
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_ensure_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_warning);
    __Pyx_XDECREF(__pyx_v_variable);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3292
 *         self.putln("%s = __Pyx_PyGILState_Ensure();" % variable)
 * 
 *     def put_release_ensured_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Releases the GIL, corresponds to `put_ensure_gil`.
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_214put_release_ensured_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_213put_release_ensured_gil, "\n        Releases the GIL, corresponds to `put_ensure_gil`.\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_214put_release_ensured_gil = {"put_release_ensured_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_214put_release_ensured_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_213put_release_ensured_gil};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_214put_release_ensured_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_variable = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_release_ensured_gil (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3292, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3292, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_release_ensured_gil", 0) < (0)) __PYX_ERR(0, 3292, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3292, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_variable = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_release_ensured_gil", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 3292, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_release_ensured_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_213put_release_ensured_gil(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_variable);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_213put_release_ensured_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_variable) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_t_4;
    int __pyx_t_5;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_release_ensured_gil", 0);
    __Pyx_INCREF(__pyx_v_variable);

    /* "Cython/Compiler/Code.py":3296
 *         Releases the GIL, corresponds to `put_ensure_gil`.
 *         """
 *         self.use_fast_gil_utility_code()             # <<<<<<<<<<<<<<
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_fast_gil_utility_code, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3296, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3297
 *         """
 *         self.use_fast_gil_utility_code()
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *         self.putln("__Pyx_PyGILState_Release(%s);" % variable)
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3297, __pyx_L1_error)
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":3298
 *         self.use_fast_gil_utility_code()
 *         if not variable:
 *             variable = '__pyx_gilstate_save'             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_PyGILState_Release(%s);" % variable)
 * 
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_pyx_gilstate_save);
      __Pyx_DECREF_SET(__pyx_v_variable, __pyx_mstate_global->__pyx_n_u_pyx_gilstate_save);

      /* "Cython/Compiler/Code.py":3297
 *         """
 *         self.use_fast_gil_utility_code()
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *         self.putln("__Pyx_PyGILState_Release(%s);" % variable)
*/
    }

    /* "Cython/Compiler/Code.py":3299
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 *         self.putln("__Pyx_PyGILState_Release(%s);" % variable)             # <<<<<<<<<<<<<<
 * 
 *     def put_acquire_freethreading_lock(self):
*/
    __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Pyx_PyGILState_Release_s, __pyx_v_variable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6.__pyx_n = 1;
    __pyx_t_6.code = __pyx_t_1;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3292
 *         self.putln("%s = __Pyx_PyGILState_Ensure();" % variable)
 * 
 *     def put_release_ensured_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Releases the GIL, corresponds to `put_ensure_gil`.
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_release_ensured_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_variable);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3301
 *         self.putln("__Pyx_PyGILState_Release(%s);" % variable)
 * 
 *     def put_acquire_freethreading_lock(self):             # <<<<<<<<<<<<<<
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Lock(&{Naming.parallel_freethreading_mutex});")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_216put_acquire_freethreading_lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_216put_acquire_freethreading_lock = {"put_acquire_freethreading_lock", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_216put_acquire_freethreading_lock, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_216put_acquire_freethreading_lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_acquire_freethreading_lock (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_215put_acquire_freethreading_lock(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_215put_acquire_freethreading_lock(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4[3];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_acquire_freethreading_lock", 0);

    /* "Cython/Compiler/Code.py":3302
 * 
 *     def put_acquire_freethreading_lock(self):
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")             # <<<<<<<<<<<<<<
 *         self.putln(f"PyMutex_Lock(&{Naming.parallel_freethreading_mutex});")
 *         self.putln("#endif")
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u_if_CYTHON_COMPILING_IN_CPYTHON;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3303
 *     def put_acquire_freethreading_lock(self):
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Lock(&{Naming.parallel_freethreading_mutex});")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_parallel_freethreading_mutex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_PyMutex_Lock;
    __pyx_t_4[1] = __pyx_t_3;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 14 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_t_1;
    __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3304
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Lock(&{Naming.parallel_freethreading_mutex});")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_release_freethreading_lock(self):
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u_endif;
    __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3301
 *         self.putln("__Pyx_PyGILState_Release(%s);" % variable)
 * 
 *     def put_acquire_freethreading_lock(self):             # <<<<<<<<<<<<<<
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Lock(&{Naming.parallel_freethreading_mutex});")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_acquire_freethreading_lock", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3306
 *         self.putln("#endif")
 * 
 *     def put_release_freethreading_lock(self):             # <<<<<<<<<<<<<<
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Unlock(&{Naming.parallel_freethreading_mutex});")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_218put_release_freethreading_lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_218put_release_freethreading_lock = {"put_release_freethreading_lock", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_218put_release_freethreading_lock, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_218put_release_freethreading_lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_release_freethreading_lock (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_217put_release_freethreading_lock(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_217put_release_freethreading_lock(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4[3];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_release_freethreading_lock", 0);

    /* "Cython/Compiler/Code.py":3307
 * 
 *     def put_release_freethreading_lock(self):
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")             # <<<<<<<<<<<<<<
 *         self.putln(f"PyMutex_Unlock(&{Naming.parallel_freethreading_mutex});")
 *         self.putln("#endif")
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u_if_CYTHON_COMPILING_IN_CPYTHON;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3308
 *     def put_release_freethreading_lock(self):
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Unlock(&{Naming.parallel_freethreading_mutex});")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_parallel_freethreading_mutex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_PyMutex_Unlock;
    __pyx_t_4[1] = __pyx_t_3;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 16 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_t_1;
    __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3309
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Unlock(&{Naming.parallel_freethreading_mutex});")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_acquire_gil(self, variable=None, unknown_gil_state=True):
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u_endif;
    __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3306
 *         self.putln("#endif")
 * 
 *     def put_release_freethreading_lock(self):             # <<<<<<<<<<<<<<
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Unlock(&{Naming.parallel_freethreading_mutex});")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_release_freethreading_lock", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3311
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None, unknown_gil_state=True):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The thread's thread state must have been initialized
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_220put_acquire_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_219put_acquire_gil, "\n        Acquire the GIL. The thread's thread state must have been initialized\n        by a previous `put_release_gil`\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_220put_acquire_gil = {"put_acquire_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_220put_acquire_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_219put_acquire_gil};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_220put_acquire_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_variable = 0;
    PyObject *__pyx_v_unknown_gil_state = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_acquire_gil (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,&__pyx_mstate_global->__pyx_n_u_unknown_gil_state,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3311, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3311, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3311, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_acquire_gil", 0) < (0)) __PYX_ERR(0, 3311, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3311, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3311, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_variable = values[0];
      __pyx_v_unknown_gil_state = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_acquire_gil", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 3311, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_acquire_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_219put_acquire_gil(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_variable, __pyx_v_unknown_gil_state);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_219put_acquire_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_variable, PyObject *__pyx_v_unknown_gil_state) {
    PyObject *__pyx_v_func_name = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_acquire_gil", 0);

    /* "Cython/Compiler/Code.py":3316
 *         by a previous `put_release_gil`
 *         """
 *         self.use_fast_gil_utility_code()             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_FastGIL_Forget();")
 *         if variable:
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_fast_gil_utility_code, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3316, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3317
 *         """
 *         self.use_fast_gil_utility_code()
 *         self.putln("__Pyx_FastGIL_Forget();")             # <<<<<<<<<<<<<<
 *         if variable:
 *             self.putln('_save = %s;' % variable)
*/
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_mstate_global->__pyx_kp_u_Pyx_FastGIL_Forget;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3318
 *         self.use_fast_gil_utility_code()
 *         self.putln("__Pyx_FastGIL_Forget();")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('_save = %s;' % variable)
 *         if unknown_gil_state:
*/
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 3318, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":3319
 *         self.putln("__Pyx_FastGIL_Forget();")
 *         if variable:
 *             self.putln('_save = %s;' % variable)             # <<<<<<<<<<<<<<
 *         if unknown_gil_state:
 *             func_name = "__Pyx_RestoreUnknownThread"
*/
      __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_save_s, __pyx_v_variable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4.__pyx_n = 1;
      __pyx_t_4.code = __pyx_t_1;
      __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3318
 *         self.use_fast_gil_utility_code()
 *         self.putln("__Pyx_FastGIL_Forget();")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('_save = %s;' % variable)
 *         if unknown_gil_state:
*/
    }

    /* "Cython/Compiler/Code.py":3320
 *         if variable:
 *             self.putln('_save = %s;' % variable)
 *         if unknown_gil_state:             # <<<<<<<<<<<<<<
 *             func_name = "__Pyx_RestoreUnknownThread"
 *             self.globalstate.use_utility_code(
*/
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_unknown_gil_state); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 3320, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":3321
 *             self.putln('_save = %s;' % variable)
 *         if unknown_gil_state:
 *             func_name = "__Pyx_RestoreUnknownThread"             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_RestoreUnknownThread);
      __pyx_v_func_name = __pyx_mstate_global->__pyx_n_u_Pyx_RestoreUnknownThread;

      /* "Cython/Compiler/Code.py":3322
 *         if unknown_gil_state:
 *             func_name = "__Pyx_RestoreUnknownThread"
 *             self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
 *         else:
*/
      __pyx_t_1 = __pyx_v_self->globalstate;
      __Pyx_INCREF(__pyx_t_1);

      /* "Cython/Compiler/Code.py":3323
 *             func_name = "__Pyx_RestoreUnknownThread"
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         else:
 *             func_name = "PyEval_RestoreThread"
*/
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3323, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_mstate_global->__pyx_tuple[25], NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3323, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3322, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3320
 *         if variable:
 *             self.putln('_save = %s;' % variable)
 *         if unknown_gil_state:             # <<<<<<<<<<<<<<
 *             func_name = "__Pyx_RestoreUnknownThread"
 *             self.globalstate.use_utility_code(
*/
      goto __pyx_L4;
    }

    /* "Cython/Compiler/Code.py":3325
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
 *         else:
 *             func_name = "PyEval_RestoreThread"             # <<<<<<<<<<<<<<
 *         self.putln(f"{func_name}(_save);")
 * 
*/
    /*else*/ {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_PyEval_RestoreThread);
      __pyx_v_func_name = __pyx_mstate_global->__pyx_n_u_PyEval_RestoreThread;
    }
    __pyx_L4:;

    /* "Cython/Compiler/Code.py":3326
 *         else:
 *             func_name = "PyEval_RestoreThread"
 *         self.putln(f"{func_name}(_save);")             # <<<<<<<<<<<<<<
 * 
 *     def put_release_gil(self, variable=None, unknown_gil_state=True):
*/
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_v_func_name, __pyx_mstate_global->__pyx_kp_u_save); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_t_2;
    __pyx_t_7 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3311
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None, unknown_gil_state=True):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The thread's thread state must have been initialized
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_acquire_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_func_name);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3328
 *         self.putln(f"{func_name}(_save);")
 * 
 *     def put_release_gil(self, variable=None, unknown_gil_state=True):             # <<<<<<<<<<<<<<
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.use_fast_gil_utility_code()
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_222put_release_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_221put_release_gil, "Release the GIL, corresponds to `put_acquire_gil`.");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_222put_release_gil = {"put_release_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_222put_release_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_221put_release_gil};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_222put_release_gil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_variable = 0;
    PyObject *__pyx_v_unknown_gil_state = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_release_gil (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,&__pyx_mstate_global->__pyx_n_u_unknown_gil_state,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3328, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3328, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3328, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_release_gil", 0) < (0)) __PYX_ERR(0, 3328, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3328, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3328, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_variable = values[0];
      __pyx_v_unknown_gil_state = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_release_gil", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 3328, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_release_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_221put_release_gil(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_variable, __pyx_v_unknown_gil_state);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_221put_release_gil(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_variable, PyObject *__pyx_v_unknown_gil_state) {
    PyObject *__pyx_v_func_name = NULL;
    PyObject *__pyx_v_result_type = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_7;
    PyObject *__pyx_t_8[3];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_release_gil", 0);

    /* "Cython/Compiler/Code.py":3330
 *     def put_release_gil(self, variable=None, unknown_gil_state=True):
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.use_fast_gil_utility_code()             # <<<<<<<<<<<<<<
 *         if unknown_gil_state:
 *             self.globalstate.use_utility_code(
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_fast_gil_utility_code, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3330, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3331
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.use_fast_gil_utility_code()
 *         if unknown_gil_state:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_unknown_gil_state); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3331, __pyx_L1_error)
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":3332
 *         self.use_fast_gil_utility_code()
 *         if unknown_gil_state:
 *             self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
 *             func_name = "__Pyx_SaveUnknownThread"
*/
      __pyx_t_2 = __pyx_v_self->globalstate;
      __Pyx_INCREF(__pyx_t_2);

      /* "Cython/Compiler/Code.py":3333
 *         if unknown_gil_state:
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *             func_name = "__Pyx_SaveUnknownThread"
 *             result_type = "__Pyx_UnknownThreadState"
*/
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3333, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[25], NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3333, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3332, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3334
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
 *             func_name = "__Pyx_SaveUnknownThread"             # <<<<<<<<<<<<<<
 *             result_type = "__Pyx_UnknownThreadState"
 *         else:
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_SaveUnknownThread);
      __pyx_v_func_name = __pyx_mstate_global->__pyx_n_u_Pyx_SaveUnknownThread;

      /* "Cython/Compiler/Code.py":3335
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
 *             func_name = "__Pyx_SaveUnknownThread"
 *             result_type = "__Pyx_UnknownThreadState"             # <<<<<<<<<<<<<<
 *         else:
 *             func_name = "PyEval_SaveThread"
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_UnknownThreadState);
      __pyx_v_result_type = __pyx_mstate_global->__pyx_n_u_Pyx_UnknownThreadState;

      /* "Cython/Compiler/Code.py":3331
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.use_fast_gil_utility_code()
 *         if unknown_gil_state:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3337
 *             result_type = "__Pyx_UnknownThreadState"
 *         else:
 *             func_name = "PyEval_SaveThread"             # <<<<<<<<<<<<<<
 *             result_type = "PyThreadState *"
 *         self.putln(f"{result_type} _save;")
*/
    /*else*/ {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_PyEval_SaveThread);
      __pyx_v_func_name = __pyx_mstate_global->__pyx_n_u_PyEval_SaveThread;

      /* "Cython/Compiler/Code.py":3338
 *         else:
 *             func_name = "PyEval_SaveThread"
 *             result_type = "PyThreadState *"             # <<<<<<<<<<<<<<
 *         self.putln(f"{result_type} _save;")
 *         self.putln(f"_save = {func_name}();")
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_PyThreadState);
      __pyx_v_result_type = __pyx_mstate_global->__pyx_kp_u_PyThreadState;
    }
    __pyx_L3:;

    /* "Cython/Compiler/Code.py":3339
 *             func_name = "PyEval_SaveThread"
 *             result_type = "PyThreadState *"
 *         self.putln(f"{result_type} _save;")             # <<<<<<<<<<<<<<
 *         self.putln(f"_save = {func_name}();")
 *         if variable:
*/
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_v_result_type, __pyx_mstate_global->__pyx_kp_u_save_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_t_1;
    __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":3340
 *             result_type = "PyThreadState *"
 *         self.putln(f"{result_type} _save;")
 *         self.putln(f"_save = {func_name}();")             # <<<<<<<<<<<<<<
 *         if variable:
 *             self.putln('%s = _save;' % variable)
*/
    __pyx_t_8[0] = __pyx_mstate_global->__pyx_kp_u_save_3;
    __pyx_t_8[1] = __pyx_v_func_name;
    __pyx_t_8[2] = __pyx_mstate_global->__pyx_kp_u__72;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_8, 3, 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_func_name) + 3, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_func_name));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_t_6;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3341
 *         self.putln(f"{result_type} _save;")
 *         self.putln(f"_save = {func_name}();")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('%s = _save;' % variable)
 *         self.putln("__Pyx_FastGIL_Remember();")
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3341, __pyx_L1_error)
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":3342
 *         self.putln(f"_save = {func_name}();")
 *         if variable:
 *             self.putln('%s = _save;' % variable)             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_FastGIL_Remember();")
 * 
*/
      __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s__save, __pyx_v_variable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7.__pyx_n = 1;
      __pyx_t_7.code = __pyx_t_1;
      __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":3341
 *         self.putln(f"{result_type} _save;")
 *         self.putln(f"_save = {func_name}();")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('%s = _save;' % variable)
 *         self.putln("__Pyx_FastGIL_Remember();")
*/
    }

    /* "Cython/Compiler/Code.py":3343
 *         if variable:
 *             self.putln('%s = _save;' % variable)
 *         self.putln("__Pyx_FastGIL_Remember();")             # <<<<<<<<<<<<<<
 * 
 *     def declare_gilstate(self):
*/
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_mstate_global->__pyx_kp_u_Pyx_FastGIL_Remember;
    __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":3328
 *         self.putln(f"{func_name}(_save);")
 * 
 *     def put_release_gil(self, variable=None, unknown_gil_state=True):             # <<<<<<<<<<<<<<
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.use_fast_gil_utility_code()
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_release_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_func_name);
    __Pyx_XDECREF(__pyx_v_result_type);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3345
 *         self.putln("__Pyx_FastGIL_Remember();")
 * 
 *     def declare_gilstate(self):             # <<<<<<<<<<<<<<
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_224declare_gilstate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_224declare_gilstate = {"declare_gilstate", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_224declare_gilstate, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_224declare_gilstate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("declare_gilstate (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_223declare_gilstate(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_223declare_gilstate(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("declare_gilstate", 0);

    /* "Cython/Compiler/Code.py":3346
 * 
 *     def declare_gilstate(self):
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")             # <<<<<<<<<<<<<<
 * 
 *     # error handling
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u_PyGILState_STATE___pyx_gilstate;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3345
 *         self.putln("__Pyx_FastGIL_Remember();")
 * 
 *     def declare_gilstate(self):             # <<<<<<<<<<<<<<
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.declare_gilstate", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3350
 *     # error handling
 * 
 *     def put_error_if_neg(self, pos, value):             # <<<<<<<<<<<<<<
 *         # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         # return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_226put_error_if_neg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_226put_error_if_neg = {"put_error_if_neg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_226put_error_if_neg, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_226put_error_if_neg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_value = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_error_if_neg (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_value,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3350, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3350, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3350, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_error_if_neg", 0) < (0)) __PYX_ERR(0, 3350, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_error_if_neg", 1, 2, 2, i); __PYX_ERR(0, 3350, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3350, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3350, __pyx_L3_error)
      }
      __pyx_v_pos = values[0];
      __pyx_v_value = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_error_if_neg", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3350, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_error_if_neg", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_225put_error_if_neg(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_value);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_225put_error_if_neg(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_value) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4[4];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_error_if_neg", 0);

    /* "Cython/Compiler/Code.py":3353
 *         # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         # return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))
 *         return self.putln("if (%s < (0)) %s" % (value, self.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_value), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_error_goto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_3), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_if_3;
    __pyx_t_4[1] = __pyx_t_1;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u_0_3;
    __pyx_t_4[3] = __pyx_t_2;
    __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 8 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_5.__pyx_n = 1;
    __pyx_t_5.code = __pyx_t_3;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3350
 *     # error handling
 * 
 *     def put_error_if_neg(self, pos, value):             # <<<<<<<<<<<<<<
 *         # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         # return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_error_if_neg", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3355
 *         return self.putln("if (%s < (0)) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):             # <<<<<<<<<<<<<<
 *         nogil_tag = "Nogil" if in_nogil_context else ""
 *         if entry.from_closure:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_228put_error_if_unbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_228put_error_if_unbound = {"put_error_if_unbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_228put_error_if_unbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_228put_error_if_unbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_entry = 0;
    PyObject *__pyx_v_in_nogil_context = 0;
    PyObject *__pyx_v_unbound_check_code = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[4] = {0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_error_if_unbound (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_entry,&__pyx_mstate_global->__pyx_n_u_in_nogil_context,&__pyx_mstate_global->__pyx_n_u_unbound_check_code,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3355, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3355, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3355, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3355, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3355, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_error_if_unbound", 0) < (0)) __PYX_ERR(0, 3355, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_error_if_unbound", 0, 2, 4, i); __PYX_ERR(0, 3355, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3355, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3355, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3355, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3355, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_pos = values[0];
      __pyx_v_entry = values[1];
      __pyx_v_in_nogil_context = values[2];
      __pyx_v_unbound_check_code = values[3];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_error_if_unbound", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 3355, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_error_if_unbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_227put_error_if_unbound(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_entry, __pyx_v_in_nogil_context, __pyx_v_unbound_check_code);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_227put_error_if_unbound(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_entry, PyObject *__pyx_v_in_nogil_context, PyObject *__pyx_v_unbound_check_code) {
    PyObject *__pyx_v_nogil_tag = NULL;
    PyObject *__pyx_v_func = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    int __pyx_t_4;
    int __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    PyObject *__pyx_t_9 = NULL;
    size_t __pyx_t_10;
    PyObject *__pyx_t_11[3];
    PyObject *__pyx_t_12[9];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_13;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_error_if_unbound", 0);
    __Pyx_INCREF(__pyx_v_unbound_check_code);

    /* "Cython/Compiler/Code.py":3356
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):
 *         nogil_tag = "Nogil" if in_nogil_context else ""             # <<<<<<<<<<<<<<
 *         if entry.from_closure:
 *             func = "RaiseClosureNameError"
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_in_nogil_context); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3356, __pyx_L1_error)
    if (__pyx_t_2) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Nogil);
      __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Nogil;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
      __pyx_t_1 = __pyx_mstate_global->__pyx_kp_u__9;
    }
    __pyx_v_nogil_tag = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3357
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):
 *         nogil_tag = "Nogil" if in_nogil_context else ""
 *         if entry.from_closure:             # <<<<<<<<<<<<<<
 *             func = "RaiseClosureNameError"
 *         elif entry.type.is_cpp_class and entry.is_cglobal:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_from_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3357, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3358
 *         nogil_tag = "Nogil" if in_nogil_context else ""
 *         if entry.from_closure:
 *             func = "RaiseClosureNameError"             # <<<<<<<<<<<<<<
 *         elif entry.type.is_cpp_class and entry.is_cglobal:
 *             func = "RaiseCppGlobalNameError"
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_RaiseClosureNameError);
      __pyx_v_func = __pyx_mstate_global->__pyx_n_u_RaiseClosureNameError;

      /* "Cython/Compiler/Code.py":3357
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):
 *         nogil_tag = "Nogil" if in_nogil_context else ""
 *         if entry.from_closure:             # <<<<<<<<<<<<<<
 *             func = "RaiseClosureNameError"
 *         elif entry.type.is_cpp_class and entry.is_cglobal:
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3359
 *         if entry.from_closure:
 *             func = "RaiseClosureNameError"
 *         elif entry.type.is_cpp_class and entry.is_cglobal:             # <<<<<<<<<<<<<<
 *             func = "RaiseCppGlobalNameError"
 *         elif entry.type.is_cpp_class and entry.is_variable and not entry.is_member and entry.scope.is_c_class_scope:
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_is_cpp_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3359, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_4) {
    } else {
      __pyx_t_2 = __pyx_t_4;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_cglobal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3359, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2 = __pyx_t_4;
    __pyx_L4_bool_binop_done:;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3360
 *             func = "RaiseClosureNameError"
 *         elif entry.type.is_cpp_class and entry.is_cglobal:
 *             func = "RaiseCppGlobalNameError"             # <<<<<<<<<<<<<<
 *         elif entry.type.is_cpp_class and entry.is_variable and not entry.is_member and entry.scope.is_c_class_scope:
 *             # there doesn't seem to be a good way to detecting an instance-attribute of a C class
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_RaiseCppGlobalNameError);
      __pyx_v_func = __pyx_mstate_global->__pyx_n_u_RaiseCppGlobalNameError;

      /* "Cython/Compiler/Code.py":3359
 *         if entry.from_closure:
 *             func = "RaiseClosureNameError"
 *         elif entry.type.is_cpp_class and entry.is_cglobal:             # <<<<<<<<<<<<<<
 *             func = "RaiseCppGlobalNameError"
 *         elif entry.type.is_cpp_class and entry.is_variable and not entry.is_member and entry.scope.is_c_class_scope:
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3361
 *         elif entry.type.is_cpp_class and entry.is_cglobal:
 *             func = "RaiseCppGlobalNameError"
 *         elif entry.type.is_cpp_class and entry.is_variable and not entry.is_member and entry.scope.is_c_class_scope:             # <<<<<<<<<<<<<<
 *             # there doesn't seem to be a good way to detecting an instance-attribute of a C class
 *             # (is_member is only set for class attributes)
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_is_cpp_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_4) {
    } else {
      __pyx_t_2 = __pyx_t_4;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_variable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_4) {
    } else {
      __pyx_t_2 = __pyx_t_4;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_is_member); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
    } else {
      __pyx_t_2 = __pyx_t_5;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_is_c_class_scope); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 3361, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2 = __pyx_t_5;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3364
 *             # there doesn't seem to be a good way to detecting an instance-attribute of a C class
 *             # (is_member is only set for class attributes)
 *             func = "RaiseCppAttributeError"             # <<<<<<<<<<<<<<
 *         else:
 *             func = "RaiseUnboundLocalError"
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_RaiseCppAttributeError);
      __pyx_v_func = __pyx_mstate_global->__pyx_n_u_RaiseCppAttributeError;

      /* "Cython/Compiler/Code.py":3361
 *         elif entry.type.is_cpp_class and entry.is_cglobal:
 *             func = "RaiseCppGlobalNameError"
 *         elif entry.type.is_cpp_class and entry.is_variable and not entry.is_member and entry.scope.is_c_class_scope:             # <<<<<<<<<<<<<<
 *             # there doesn't seem to be a good way to detecting an instance-attribute of a C class
 *             # (is_member is only set for class attributes)
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3366
 *             func = "RaiseCppAttributeError"
 *         else:
 *             func = "RaiseUnboundLocalError"             # <<<<<<<<<<<<<<
 * 
 *         self.globalstate.use_utility_code(
*/
    /*else*/ {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_RaiseUnboundLocalError);
      __pyx_v_func = __pyx_mstate_global->__pyx_n_u_RaiseUnboundLocalError;
    }
    __pyx_L3:;

    /* "Cython/Compiler/Code.py":3368
 *             func = "RaiseUnboundLocalError"
 * 
 *         self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *                 UtilityCode.load_cached(f"{func}{nogil_tag}", "ObjectHandling.c"))
 * 
*/
    __pyx_t_1 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":3369
 * 
 *         self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached(f"{func}{nogil_tag}", "ObjectHandling.c"))             # <<<<<<<<<<<<<<
 * 
 *         if not unbound_check_code:
*/
    __pyx_t_7 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyUnicode_Unicode(__pyx_v_nogil_tag); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_v_func, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_9, __pyx_mstate_global->__pyx_kp_u_ObjectHandling_c};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_load_cached, __pyx_callargs+__pyx_t_10, (3-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3369, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3368, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3371
 *                 UtilityCode.load_cached(f"{func}{nogil_tag}", "ObjectHandling.c"))
 * 
 *         if not unbound_check_code:             # <<<<<<<<<<<<<<
 *             unbound_check_code = entry.type.check_for_null_code(entry.cname)
 *         self.putln('if (unlikely(!%s)) { %s(%s); %s }' % (
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_unbound_check_code); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3371, __pyx_L1_error)
    __pyx_t_5 = (!__pyx_t_2);
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":3372
 * 
 *         if not unbound_check_code:
 *             unbound_check_code = entry.type.check_for_null_code(entry.cname)             # <<<<<<<<<<<<<<
 *         self.putln('if (unlikely(!%s)) { %s(%s); %s }' % (
 *                                 unbound_check_code,
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3372, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __pyx_t_1;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_cname); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3372, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_check_for_null_code, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3372, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF_SET(__pyx_v_unbound_check_code, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":3371
 *                 UtilityCode.load_cached(f"{func}{nogil_tag}", "ObjectHandling.c"))
 * 
 *         if not unbound_check_code:             # <<<<<<<<<<<<<<
 *             unbound_check_code = entry.type.check_for_null_code(entry.cname)
 *         self.putln('if (unlikely(!%s)) { %s(%s); %s }' % (
*/
    }

    /* "Cython/Compiler/Code.py":3374
 *             unbound_check_code = entry.type.check_for_null_code(entry.cname)
 *         self.putln('if (unlikely(!%s)) { %s(%s); %s }' % (
 *                                 unbound_check_code,             # <<<<<<<<<<<<<<
 *                                 f"__Pyx_{func}{nogil_tag}",
 *                                 entry.name.as_c_string_literal(),
*/
    __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_unbound_check_code), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);

    /* "Cython/Compiler/Code.py":3375
 *         self.putln('if (unlikely(!%s)) { %s(%s); %s }' % (
 *                                 unbound_check_code,
 *                                 f"__Pyx_{func}{nogil_tag}",             # <<<<<<<<<<<<<<
 *                                 entry.name.as_c_string_literal(),
 *                                 self.error_goto(pos)))
*/
    __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_v_nogil_tag); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11[0] = __pyx_mstate_global->__pyx_n_u_Pyx;
    __pyx_t_11[1] = __pyx_v_func;
    __pyx_t_11[2] = __pyx_t_1;
    __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_func) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_func) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3376
 *                                 unbound_check_code,
 *                                 f"__Pyx_{func}{nogil_tag}",
 *                                 entry.name.as_c_string_literal(),             # <<<<<<<<<<<<<<
 *                                 self.error_goto(pos)))
 * 
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_as_c_string_literal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3377
 *                                 f"__Pyx_{func}{nogil_tag}",
 *                                 entry.name.as_c_string_literal(),
 *                                 self.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def set_error_info(self, pos, used=False):
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_error_goto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_pos); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_7), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_12[0] = __pyx_mstate_global->__pyx_kp_u_if_unlikely;
    __pyx_t_12[1] = __pyx_t_3;
    __pyx_t_12[2] = __pyx_mstate_global->__pyx_kp_u__73;
    __pyx_t_12[3] = __pyx_t_9;
    __pyx_t_12[4] = __pyx_mstate_global->__pyx_kp_u__15;
    __pyx_t_12[5] = __pyx_t_6;
    __pyx_t_12[6] = __pyx_mstate_global->__pyx_kp_u__74;
    __pyx_t_12[7] = __pyx_t_1;
    __pyx_t_12[8] = __pyx_mstate_global->__pyx_kp_u__57;

    /* "Cython/Compiler/Code.py":3373
 *         if not unbound_check_code:
 *             unbound_check_code = entry.type.check_for_null_code(entry.cname)
 *         self.putln('if (unlikely(!%s)) { %s(%s); %s }' % (             # <<<<<<<<<<<<<<
 *                                 unbound_check_code,
 *                                 f"__Pyx_{func}{nogil_tag}",
*/
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_12, 9, 14 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_13.__pyx_n = 1;
    __pyx_t_13.code = __pyx_t_7;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3355
 *         return self.putln("if (%s < (0)) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):             # <<<<<<<<<<<<<<
 *         nogil_tag = "Nogil" if in_nogil_context else ""
 *         if entry.from_closure:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_error_if_unbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_nogil_tag);
    __Pyx_XDECREF(__pyx_v_func);
    __Pyx_XDECREF(__pyx_v_unbound_check_code);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3379
 *                                 self.error_goto(pos)))
 * 
 *     def set_error_info(self, pos, used=False):             # <<<<<<<<<<<<<<
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_230set_error_info(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_230set_error_info = {"set_error_info", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_230set_error_info, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_230set_error_info(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_used = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("set_error_info (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_used,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3379, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3379, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3379, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "set_error_info", 0) < (0)) __PYX_ERR(0, 3379, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("set_error_info", 0, 1, 2, i); __PYX_ERR(0, 3379, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3379, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3379, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_pos = values[0];
      __pyx_v_used = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("set_error_info", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3379, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_error_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_229set_error_info(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_used);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_229set_error_info(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_used) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5[5];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("set_error_info", 0);

    /* "Cython/Compiler/Code.py":3380
 * 
 *     def set_error_info(self, pos, used=False):
 *         self.funcstate.should_declare_error_indicator = True             # <<<<<<<<<<<<<<
 *         if used:
 *             self.funcstate.uses_error_indicator = True
*/
    __pyx_v_self->funcstate->should_declare_error_indicator = 1;

    /* "Cython/Compiler/Code.py":3381
 *     def set_error_info(self, pos, used=False):
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:             # <<<<<<<<<<<<<<
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_MARK_ERR_POS(%s, %s)" % (
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_used); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3381, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3382
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
 *             self.funcstate.uses_error_indicator = True             # <<<<<<<<<<<<<<
 *         return "__PYX_MARK_ERR_POS(%s, %s)" % (
 *             self.lookup_filename(pos[0]),
*/
      __pyx_v_self->funcstate->uses_error_indicator = 1;

      /* "Cython/Compiler/Code.py":3381
 *     def set_error_info(self, pos, used=False):
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:             # <<<<<<<<<<<<<<
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_MARK_ERR_POS(%s, %s)" % (
*/
    }

    /* "Cython/Compiler/Code.py":3383
 *         if used:
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_MARK_ERR_POS(%s, %s)" % (             # <<<<<<<<<<<<<<
 *             self.lookup_filename(pos[0]),
 *             pos[1])
*/
    __Pyx_XDECREF(__pyx_r);

    /* "Cython/Compiler/Code.py":3384
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_MARK_ERR_POS(%s, %s)" % (
 *             self.lookup_filename(pos[0]),             # <<<<<<<<<<<<<<
 *             pos[1])
 * 
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_lookup_filename); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pos, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_4), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":3385
 *         return "__PYX_MARK_ERR_POS(%s, %s)" % (
 *             self.lookup_filename(pos[0]),
 *             pos[1])             # <<<<<<<<<<<<<<
 * 
 *     def error_goto(self, pos, used=True):
*/
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_4), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_PYX_MARK_ERR_POS;
    __pyx_t_5[1] = __pyx_t_3;
    __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_5[3] = __pyx_t_2;
    __pyx_t_5[4] = __pyx_mstate_global->__pyx_kp_u__7;

    /* "Cython/Compiler/Code.py":3383
 *         if used:
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_MARK_ERR_POS(%s, %s)" % (             # <<<<<<<<<<<<<<
 *             self.lookup_filename(pos[0]),
 *             pos[1])
*/
    __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, 19 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3379
 *                                 self.error_goto(pos)))
 * 
 *     def set_error_info(self, pos, used=False):             # <<<<<<<<<<<<<<
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_error_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3387
 *             pos[1])
 * 
 *     def error_goto(self, pos, used=True):             # <<<<<<<<<<<<<<
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_232error_goto(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_232error_goto = {"error_goto", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_232error_goto, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_232error_goto(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_used = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("error_goto (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_used,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3387, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3387, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3387, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "error_goto", 0) < (0)) __PYX_ERR(0, 3387, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("error_goto", 0, 1, 2, i); __PYX_ERR(0, 3387, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3387, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3387, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_pos = values[0];
      __pyx_v_used = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("error_goto", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3387, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_231error_goto(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_used);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_231error_goto(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_used) {
    PyObject *__pyx_v_lbl = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6[7];
    PyObject *__pyx_t_7 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("error_goto", 0);

    /* "Cython/Compiler/Code.py":3388
 * 
 *     def error_goto(self, pos, used=True):
 *         lbl = self.funcstate.error_label             # <<<<<<<<<<<<<<
 *         self.funcstate.use_label(lbl)
 *         if pos is None:
*/
    __pyx_t_1 = __pyx_v_self->funcstate->error_label;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_lbl = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3389
 *     def error_goto(self, pos, used=True):
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)             # <<<<<<<<<<<<<<
 *         if pos is None:
 *             return 'goto %s;' % lbl
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self->funcstate);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_label, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3389, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3390
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
 *         if pos is None:             # <<<<<<<<<<<<<<
 *             return 'goto %s;' % lbl
 *         self.funcstate.should_declare_error_indicator = True
*/
    __pyx_t_4 = (__pyx_v_pos == Py_None);
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":3391
 *         self.funcstate.use_label(lbl)
 *         if pos is None:
 *             return 'goto %s;' % lbl             # <<<<<<<<<<<<<<
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_goto_s, __pyx_v_lbl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":3390
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
 *         if pos is None:             # <<<<<<<<<<<<<<
 *             return 'goto %s;' % lbl
 *         self.funcstate.should_declare_error_indicator = True
*/
    }

    /* "Cython/Compiler/Code.py":3392
 *         if pos is None:
 *             return 'goto %s;' % lbl
 *         self.funcstate.should_declare_error_indicator = True             # <<<<<<<<<<<<<<
 *         if used:
 *             self.funcstate.uses_error_indicator = True
*/
    __pyx_v_self->funcstate->should_declare_error_indicator = 1;

    /* "Cython/Compiler/Code.py":3393
 *             return 'goto %s;' % lbl
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:             # <<<<<<<<<<<<<<
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_ERR(%s, %s, %s)" % (
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_used); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3393, __pyx_L1_error)
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":3394
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
 *             self.funcstate.uses_error_indicator = True             # <<<<<<<<<<<<<<
 *         return "__PYX_ERR(%s, %s, %s)" % (
 *             self.lookup_filename(pos[0]),
*/
      __pyx_v_self->funcstate->uses_error_indicator = 1;

      /* "Cython/Compiler/Code.py":3393
 *             return 'goto %s;' % lbl
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:             # <<<<<<<<<<<<<<
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_ERR(%s, %s, %s)" % (
*/
    }

    /* "Cython/Compiler/Code.py":3395
 *         if used:
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_ERR(%s, %s, %s)" % (             # <<<<<<<<<<<<<<
 *             self.lookup_filename(pos[0]),
 *             pos[1],
*/
    __Pyx_XDECREF(__pyx_r);

    /* "Cython/Compiler/Code.py":3396
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_ERR(%s, %s, %s)" % (
 *             self.lookup_filename(pos[0]),             # <<<<<<<<<<<<<<
 *             pos[1],
 *             lbl)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_lookup_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_pos, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_5), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":3397
 *         return "__PYX_ERR(%s, %s, %s)" % (
 *             self.lookup_filename(pos[0]),
 *             pos[1],             # <<<<<<<<<<<<<<
 *             lbl)
 * 
*/
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_5), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":3398
 *             self.lookup_filename(pos[0]),
 *             pos[1],
 *             lbl)             # <<<<<<<<<<<<<<
 * 
 *     def error_goto_if(self, cond, pos):
*/
    __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_lbl), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6[0] = __pyx_mstate_global->__pyx_kp_u_PYX_ERR;
    __pyx_t_6[1] = __pyx_t_2;
    __pyx_t_6[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_6[3] = __pyx_t_1;
    __pyx_t_6[4] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_6[5] = __pyx_t_5;
    __pyx_t_6[6] = __pyx_mstate_global->__pyx_kp_u__7;

    /* "Cython/Compiler/Code.py":3395
 *         if used:
 *             self.funcstate.uses_error_indicator = True
 *         return "__PYX_ERR(%s, %s, %s)" % (             # <<<<<<<<<<<<<<
 *             self.lookup_filename(pos[0]),
 *             pos[1],
*/
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 7, 10 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3387
 *             pos[1])
 * 
 *     def error_goto(self, pos, used=True):             # <<<<<<<<<<<<<<
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_lbl);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3400
 *             lbl)
 * 
 *     def error_goto_if(self, cond, pos):             # <<<<<<<<<<<<<<
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_234error_goto_if(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_234error_goto_if = {"error_goto_if", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_234error_goto_if, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_234error_goto_if(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cond = 0;
    PyObject *__pyx_v_pos = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("error_goto_if (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cond,&__pyx_mstate_global->__pyx_n_u_pos,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3400, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3400, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3400, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "error_goto_if", 0) < (0)) __PYX_ERR(0, 3400, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("error_goto_if", 1, 2, 2, i); __PYX_ERR(0, 3400, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3400, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3400, __pyx_L3_error)
      }
      __pyx_v_cond = values[0];
      __pyx_v_pos = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("error_goto_if", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3400, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_233error_goto_if(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cond, __pyx_v_pos);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_233error_goto_if(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond, PyObject *__pyx_v_pos) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4[4];
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("error_goto_if", 0);

    /* "Cython/Compiler/Code.py":3401
 * 
 *     def error_goto_if(self, cond, pos):
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))             # <<<<<<<<<<<<<<
 * 
 *     def error_goto_if_null(self, cname, pos):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_unlikely); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_cond); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_2), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_error_goto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_3), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_if_3;
    __pyx_t_4[1] = __pyx_t_1;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__47;
    __pyx_t_4[3] = __pyx_t_2;
    __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3400
 *             lbl)
 * 
 *     def error_goto_if(self, cond, pos):             # <<<<<<<<<<<<<<
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3403
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
 *     def error_goto_if_null(self, cname, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_236error_goto_if_null(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_236error_goto_if_null = {"error_goto_if_null", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_236error_goto_if_null, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_236error_goto_if_null(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_pos = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("error_goto_if_null (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_pos,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3403, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3403, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3403, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "error_goto_if_null", 0) < (0)) __PYX_ERR(0, 3403, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("error_goto_if_null", 1, 2, 2, i); __PYX_ERR(0, 3403, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3403, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3403, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_pos = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("error_goto_if_null", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3403, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if_null", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_235error_goto_if_null(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_pos);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_235error_goto_if_null(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_pos) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    size_t __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("error_goto_if_null", 0);

    /* "Cython/Compiler/Code.py":3404
 * 
 *     def error_goto_if_null(self, cname, pos):
 *         return self.error_goto_if("!%s" % cname, pos)             # <<<<<<<<<<<<<<
 * 
 *     def error_goto_if_neg(self, cname, pos):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_12, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_pos};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto_if, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3403
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
 *     def error_goto_if_null(self, cname, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if_null", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3406
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
 *     def error_goto_if_neg(self, cname, pos):             # <<<<<<<<<<<<<<
 *         # Add extra parentheses to silence clang warnings about constant conditions.
 *         return self.error_goto_if("(%s < 0)" % cname, pos)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_238error_goto_if_neg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_238error_goto_if_neg = {"error_goto_if_neg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_238error_goto_if_neg, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_238error_goto_if_neg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_cname = 0;
    PyObject *__pyx_v_pos = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("error_goto_if_neg (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cname,&__pyx_mstate_global->__pyx_n_u_pos,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3406, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3406, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3406, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "error_goto_if_neg", 0) < (0)) __PYX_ERR(0, 3406, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("error_goto_if_neg", 1, 2, 2, i); __PYX_ERR(0, 3406, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3406, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3406, __pyx_L3_error)
      }
      __pyx_v_cname = values[0];
      __pyx_v_pos = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("error_goto_if_neg", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3406, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if_neg", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_237error_goto_if_neg(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_cname, __pyx_v_pos);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_237error_goto_if_neg(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_pos) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    size_t __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("error_goto_if_neg", 0);

    /* "Cython/Compiler/Code.py":3408
 *     def error_goto_if_neg(self, cname, pos):
 *         # Add extra parentheses to silence clang warnings about constant conditions.
 *         return self.error_goto_if("(%s < 0)" % cname, pos)             # <<<<<<<<<<<<<<
 * 
 *     def error_goto_if_PyErr(self, pos):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_s_0, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_pos};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto_if, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3408, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3406
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
 *     def error_goto_if_neg(self, cname, pos):             # <<<<<<<<<<<<<<
 *         # Add extra parentheses to silence clang warnings about constant conditions.
 *         return self.error_goto_if("(%s < 0)" % cname, pos)
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if_neg", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3410
 *         return self.error_goto_if("(%s < 0)" % cname, pos)
 * 
 *     def error_goto_if_PyErr(self, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_240error_goto_if_PyErr(PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_240error_goto_if_PyErr = {"error_goto_if_PyErr", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_240error_goto_if_PyErr, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_240error_goto_if_PyErr(PyObject *__pyx_v_self, PyObject *__pyx_v_pos) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("error_goto_if_PyErr (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_239error_goto_if_PyErr(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_pos));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_239error_goto_if_PyErr(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("error_goto_if_PyErr", 0);

    /* "Cython/Compiler/Code.py":3411
 * 
 *     def error_goto_if_PyErr(self, pos):
 *         return self.error_goto_if("PyErr_Occurred()", pos)             # <<<<<<<<<<<<<<
 * 
 *     def lookup_filename(self, filename):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_PyErr_Occurred, __pyx_v_pos};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto_if, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3410
 *         return self.error_goto_if("(%s < 0)" % cname, pos)
 * 
 *     def error_goto_if_PyErr(self, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if_PyErr", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3413
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
 *     def lookup_filename(self, filename):             # <<<<<<<<<<<<<<
 *         return self.globalstate.lookup_filename(filename)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_242lookup_filename(PyObject *__pyx_v_self, PyObject *__pyx_v_filename); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_242lookup_filename = {"lookup_filename", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_242lookup_filename, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_242lookup_filename(PyObject *__pyx_v_self, PyObject *__pyx_v_filename) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("lookup_filename (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_241lookup_filename(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_filename));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_241lookup_filename(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_filename) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("lookup_filename", 0);

    /* "Cython/Compiler/Code.py":3414
 * 
 *     def lookup_filename(self, filename):
 *         return self.globalstate.lookup_filename(filename)             # <<<<<<<<<<<<<<
 * 
 *     def put_declare_refcount_context(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_filename};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lookup_filename, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3414, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3413
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
 *     def lookup_filename(self, filename):             # <<<<<<<<<<<<<<
 *         return self.globalstate.lookup_filename(filename)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.lookup_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3416
 *         return self.globalstate.lookup_filename(filename)
 * 
 *     def put_declare_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_244put_declare_refcount_context(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_244put_declare_refcount_context = {"put_declare_refcount_context", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_244put_declare_refcount_context, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_244put_declare_refcount_context(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_declare_refcount_context (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_243put_declare_refcount_context(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_243put_declare_refcount_context(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_declare_refcount_context", 0);

    /* "Cython/Compiler/Code.py":3417
 * 
 *     def put_declare_refcount_context(self):
 *         self.putln('__Pyx_RefNannyDeclarations')             # <<<<<<<<<<<<<<
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_n_u_Pyx_RefNannyDeclarations;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3416
 *         return self.globalstate.lookup_filename(filename)
 * 
 *     def put_declare_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_declare_refcount_context", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3419
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):             # <<<<<<<<<<<<<<
 *         name = name.as_c_string_literal()  # handle unicode names
 *         if acquire_gil:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_246put_setup_refcount_context(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_246put_setup_refcount_context = {"put_setup_refcount_context", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_246put_setup_refcount_context, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_246put_setup_refcount_context(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_name = 0;
    PyObject *__pyx_v_acquire_gil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_setup_refcount_context (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_acquire_gil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3419, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3419, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3419, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_setup_refcount_context", 0) < (0)) __PYX_ERR(0, 3419, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_setup_refcount_context", 0, 1, 2, i); __PYX_ERR(0, 3419, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3419, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3419, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_name = values[0];
      __pyx_v_acquire_gil = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_setup_refcount_context", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3419, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_setup_refcount_context", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_245put_setup_refcount_context(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_name, __pyx_v_acquire_gil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_245put_setup_refcount_context(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_acquire_gil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7[5];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_8;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_setup_refcount_context", 0);
    __Pyx_INCREF(__pyx_v_name);

    /* "Cython/Compiler/Code.py":3420
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 *         name = name.as_c_string_literal()  # handle unicode names             # <<<<<<<<<<<<<<
 *         if acquire_gil:
 *             self.globalstate.use_utility_code(
*/
    __pyx_t_2 = __pyx_v_name;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_as_c_string_literal, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3420, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3421
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 *         name = name.as_c_string_literal()  # handle unicode names
 *         if acquire_gil:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_acquire_gil); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3421, __pyx_L1_error)
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":3422
 *         name = name.as_c_string_literal()  # handle unicode names
 *         if acquire_gil:
 *             self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *                 UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.putln('__Pyx_RefNannySetupContext(%s, %d);' % (name, acquire_gil and 1 or 0))
*/
      __pyx_t_2 = __pyx_v_self->globalstate;
      __Pyx_INCREF(__pyx_t_2);

      /* "Cython/Compiler/Code.py":3423
 *         if acquire_gil:
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_RefNannySetupContext(%s, %d);' % (name, acquire_gil and 1 or 0))
 * 
*/
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3423, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[24], NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3423, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3422, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3421
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 *         name = name.as_c_string_literal()  # handle unicode names
 *         if acquire_gil:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
*/
    }

    /* "Cython/Compiler/Code.py":3424
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.putln('__Pyx_RefNannySetupContext(%s, %d);' % (name, acquire_gil and 1 or 0))             # <<<<<<<<<<<<<<
 * 
 *     def put_finish_refcount_context(self, nogil=False):
*/
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_acquire_gil); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3424, __pyx_L1_error)
    if (!__pyx_t_4) {
      goto __pyx_L5_next_or;
    } else {
    }
    if (!1) {
    } else {
      __pyx_t_2 = __Pyx_PyLong_From_long(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L4_bool_binop_done;
    }
    __pyx_L5_next_or:;
    __pyx_t_2 = __Pyx_PyLong_From_long(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_L4_bool_binop_done:;
    __pyx_t_2 = __Pyx_PyObject_FormatAndDecref(__Pyx_PyNumber_Long(__pyx_t_6), __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_RefNannySetupContext;
    __pyx_t_7[1] = __pyx_t_1;
    __pyx_t_7[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[3] = __pyx_t_2;
    __pyx_t_7[4] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_7, 5, 27 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_8.__pyx_n = 1;
    __pyx_t_8.code = __pyx_t_6;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3419
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):             # <<<<<<<<<<<<<<
 *         name = name.as_c_string_literal()  # handle unicode names
 *         if acquire_gil:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_setup_refcount_context", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_name);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3426
 *         self.putln('__Pyx_RefNannySetupContext(%s, %d);' % (name, acquire_gil and 1 or 0))
 * 
 *     def put_finish_refcount_context(self, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_RefNannyFinishContextNogil()" if nogil else "__Pyx_RefNannyFinishContext();")
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_248put_finish_refcount_context(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_248put_finish_refcount_context = {"put_finish_refcount_context", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_248put_finish_refcount_context, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_248put_finish_refcount_context(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_nogil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_finish_refcount_context (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nogil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3426, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3426, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_finish_refcount_context", 0) < (0)) __PYX_ERR(0, 3426, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3426, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_nogil = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_finish_refcount_context", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 3426, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_finish_refcount_context", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_247put_finish_refcount_context(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_nogil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_247put_finish_refcount_context(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_nogil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_finish_refcount_context", 0);

    /* "Cython/Compiler/Code.py":3427
 * 
 *     def put_finish_refcount_context(self, nogil=False):
 *         self.putln("__Pyx_RefNannyFinishContextNogil()" if nogil else "__Pyx_RefNannyFinishContext();")             # <<<<<<<<<<<<<<
 * 
 *     def put_add_traceback(self, qualified_name, include_cline=True):
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_nogil); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3427, __pyx_L1_error)
    if (__pyx_t_2) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Pyx_RefNannyFinishContextNogil);
      __pyx_t_1 = __pyx_mstate_global->__pyx_kp_u_Pyx_RefNannyFinishContextNogil;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Pyx_RefNannyFinishContext);
      __pyx_t_1 = __pyx_mstate_global->__pyx_kp_u_Pyx_RefNannyFinishContext;
    }
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_t_1;
    __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3426
 *         self.putln('__Pyx_RefNannySetupContext(%s, %d);' % (name, acquire_gil and 1 or 0))
 * 
 *     def put_finish_refcount_context(self, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_RefNannyFinishContextNogil()" if nogil else "__Pyx_RefNannyFinishContext();")
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_finish_refcount_context", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3429
 *         self.putln("__Pyx_RefNannyFinishContextNogil()" if nogil else "__Pyx_RefNannyFinishContext();")
 * 
 *     def put_add_traceback(self, qualified_name, include_cline=True):             # <<<<<<<<<<<<<<
 *         """
 *         Build a Python traceback for propagating exceptions.
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_250put_add_traceback(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_249put_add_traceback, "\n        Build a Python traceback for propagating exceptions.\n\n        qualified_name should be the qualified name of the function.\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_250put_add_traceback = {"put_add_traceback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_250put_add_traceback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_249put_add_traceback};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_250put_add_traceback(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_qualified_name = 0;
    PyObject *__pyx_v_include_cline = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_add_traceback (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_qualified_name,&__pyx_mstate_global->__pyx_n_u_include_cline,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3429, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3429, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3429, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_add_traceback", 0) < (0)) __PYX_ERR(0, 3429, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_add_traceback", 0, 1, 2, i); __PYX_ERR(0, 3429, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3429, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3429, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      }
      __pyx_v_qualified_name = values[0];
      __pyx_v_include_cline = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_add_traceback", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3429, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_add_traceback", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_249put_add_traceback(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_qualified_name, __pyx_v_include_cline);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_249put_add_traceback(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_qualified_name, PyObject *__pyx_v_include_cline) {
    PyObject *__pyx_v_format_tuple = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_add_traceback", 0);
    __Pyx_INCREF(__pyx_v_qualified_name);

    /* "Cython/Compiler/Code.py":3435
 *         qualified_name should be the qualified name of the function.
 *         """
 *         qualified_name = qualified_name.as_c_string_literal()  # handle unicode names             # <<<<<<<<<<<<<<
 *         format_tuple = (
 *             qualified_name,
*/
    __pyx_t_2 = __pyx_v_qualified_name;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_as_c_string_literal, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3435, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF_SET(__pyx_v_qualified_name, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3438
 *         format_tuple = (
 *             qualified_name,
 *             Naming.clineno_cname if include_cline else 0,             # <<<<<<<<<<<<<<
 *             Naming.lineno_cname,
 *             Naming.filename_cname,
*/
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_include_cline); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3438, __pyx_L1_error)
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_clineno_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3438, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = __pyx_t_2;
      __pyx_t_2 = 0;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
      __pyx_t_1 = __pyx_mstate_global->__pyx_int_0;
    }

    /* "Cython/Compiler/Code.py":3439
 *             qualified_name,
 *             Naming.clineno_cname if include_cline else 0,
 *             Naming.lineno_cname,             # <<<<<<<<<<<<<<
 *             Naming.filename_cname,
 *         )
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_lineno_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":3440
 *             Naming.clineno_cname if include_cline else 0,
 *             Naming.lineno_cname,
 *             Naming.filename_cname,             # <<<<<<<<<<<<<<
 *         )
 * 
*/
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_filename_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);

    /* "Cython/Compiler/Code.py":3437
 *         qualified_name = qualified_name.as_c_string_literal()  # handle unicode names
 *         format_tuple = (
 *             qualified_name,             # <<<<<<<<<<<<<<
 *             Naming.clineno_cname if include_cline else 0,
 *             Naming.lineno_cname,
*/
    __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_v_qualified_name);
    __Pyx_GIVEREF(__pyx_v_qualified_name);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_qualified_name) != (0)) __PYX_ERR(0, 3437, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 3437, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 3437, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5) != (0)) __PYX_ERR(0, 3437, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_t_2 = 0;
    __pyx_t_5 = 0;
    __pyx_v_format_tuple = ((PyObject*)__pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":3443
 *         )
 * 
 *         self.funcstate.uses_error_indicator = True             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_AddTraceback(%s, %s, %s, %s);' % format_tuple)
 * 
*/
    __pyx_v_self->funcstate->uses_error_indicator = 1;

    /* "Cython/Compiler/Code.py":3444
 * 
 *         self.funcstate.uses_error_indicator = True
 *         self.putln('__Pyx_AddTraceback(%s, %s, %s, %s);' % format_tuple)             # <<<<<<<<<<<<<<
 * 
 *     def put_unraisable(self, qualified_name, nogil=False):
*/
    __pyx_t_6 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Pyx_AddTraceback_s_s_s_s, __pyx_v_format_tuple); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_t_6;
    __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":3429
 *         self.putln("__Pyx_RefNannyFinishContextNogil()" if nogil else "__Pyx_RefNannyFinishContext();")
 * 
 *     def put_add_traceback(self, qualified_name, include_cline=True):             # <<<<<<<<<<<<<<
 *         """
 *         Build a Python traceback for propagating exceptions.
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_add_traceback", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_format_tuple);
    __Pyx_XDECREF(__pyx_v_qualified_name);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3446
 *         self.putln('__Pyx_AddTraceback(%s, %s, %s, %s);' % format_tuple)
 * 
 *     def put_unraisable(self, qualified_name, nogil=False):             # <<<<<<<<<<<<<<
 *         """
 *         Generate code to print a Python warning for an unraisable exception.
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_252put_unraisable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_251put_unraisable, "\n        Generate code to print a Python warning for an unraisable exception.\n\n        qualified_name should be the qualified name of the function.\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_252put_unraisable = {"put_unraisable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_252put_unraisable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_251put_unraisable};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_252put_unraisable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_qualified_name = 0;
    PyObject *__pyx_v_nogil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_unraisable (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_qualified_name,&__pyx_mstate_global->__pyx_n_u_nogil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3446, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3446, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3446, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_unraisable", 0) < (0)) __PYX_ERR(0, 3446, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_unraisable", 0, 1, 2, i); __PYX_ERR(0, 3446, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3446, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3446, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_qualified_name = values[0];
      __pyx_v_nogil = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_unraisable", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3446, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_unraisable", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_251put_unraisable(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_qualified_name, __pyx_v_nogil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_251put_unraisable(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_qualified_name, PyObject *__pyx_v_nogil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7[13];
    PyObject *__pyx_t_8 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_9;
    size_t __pyx_t_10;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_unraisable", 0);

    /* "Cython/Compiler/Code.py":3452
 *         qualified_name should be the qualified name of the function.
 *         """
 *         self.funcstate.uses_error_indicator = True             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % (
 *             qualified_name,
*/
    __pyx_v_self->funcstate->uses_error_indicator = 1;

    /* "Cython/Compiler/Code.py":3454
 *         self.funcstate.uses_error_indicator = True
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % (
 *             qualified_name,             # <<<<<<<<<<<<<<
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,
*/
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_qualified_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":3455
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % (
 *             qualified_name,
 *             Naming.clineno_cname,             # <<<<<<<<<<<<<<
 *             Naming.lineno_cname,
 *             Naming.filename_cname,
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_clineno_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_2), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3456
 *             qualified_name,
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,             # <<<<<<<<<<<<<<
 *             Naming.filename_cname,
 *             self.globalstate.directives['unraisable_tracebacks'],
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_lineno_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_2), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3457
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,
 *             Naming.filename_cname,             # <<<<<<<<<<<<<<
 *             self.globalstate.directives['unraisable_tracebacks'],
 *             nogil,
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_filename_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_2), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3458
 *             Naming.lineno_cname,
 *             Naming.filename_cname,
 *             self.globalstate.directives['unraisable_tracebacks'],             # <<<<<<<<<<<<<<
 *             nogil,
 *         ))
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_unraisable_tracebacks); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatAndDecref(__Pyx_PyNumber_Long(__pyx_t_6), __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":3459
 *             Naming.filename_cname,
 *             self.globalstate.directives['unraisable_tracebacks'],
 *             nogil,             # <<<<<<<<<<<<<<
 *         ))
 *         self.globalstate.use_utility_code(
*/
    __pyx_t_6 = __Pyx_PyObject_FormatAndDecref(__Pyx_PyNumber_Long(__pyx_v_nogil), __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_WriteUnraisable;
    __pyx_t_7[1] = __pyx_t_1;
    __pyx_t_7[2] = __pyx_mstate_global->__pyx_kp_u__75;
    __pyx_t_7[3] = __pyx_t_3;
    __pyx_t_7[4] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[5] = __pyx_t_4;
    __pyx_t_7[6] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[7] = __pyx_t_5;
    __pyx_t_7[8] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[9] = __pyx_t_2;
    __pyx_t_7[10] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[11] = __pyx_t_6;
    __pyx_t_7[12] = __pyx_mstate_global->__pyx_kp_u__42;

    /* "Cython/Compiler/Code.py":3453
 *         """
 *         self.funcstate.uses_error_indicator = True
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % (             # <<<<<<<<<<<<<<
 *             qualified_name,
 *             Naming.clineno_cname,
*/
    __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_7, 13, 23 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2 * 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_9.__pyx_n = 1;
    __pyx_t_9.code = __pyx_t_8;
    __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":3461
 *             nogil,
 *         ))
 *         self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
*/
    __pyx_t_8 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_8);

    /* "Cython/Compiler/Code.py":3462
 *         ))
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))             # <<<<<<<<<<<<<<
 * 
 *     def is_tracing(self):
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[26], NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_10 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_5};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3461, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":3446
 *         self.putln('__Pyx_AddTraceback(%s, %s, %s, %s);' % format_tuple)
 * 
 *     def put_unraisable(self, qualified_name, nogil=False):             # <<<<<<<<<<<<<<
 *         """
 *         Generate code to print a Python warning for an unraisable exception.
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_unraisable", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3464
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 *     def is_tracing(self):             # <<<<<<<<<<<<<<
 *         return self.globalstate.directives['profile'] or self.globalstate.directives['linetrace']
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_254is_tracing(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_254is_tracing = {"is_tracing", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_254is_tracing, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_254is_tracing(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("is_tracing (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_253is_tracing(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_253is_tracing(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    int __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("is_tracing", 0);

    /* "Cython/Compiler/Code.py":3465
 * 
 *     def is_tracing(self):
 *         return self.globalstate.directives['profile'] or self.globalstate.directives['linetrace']             # <<<<<<<<<<<<<<
 * 
 *     def pos_to_offset(self, pos):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_profile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 3465, __pyx_L1_error)
    if (!__pyx_t_4) {
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = __pyx_t_3;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L3_bool_binop_done;
    }
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->globalstate, __pyx_mstate_global->__pyx_n_u_directives); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_linetrace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_1 = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_L3_bool_binop_done:;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3464
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 *     def is_tracing(self):             # <<<<<<<<<<<<<<
 *         return self.globalstate.directives['profile'] or self.globalstate.directives['linetrace']
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.is_tracing", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3467
 *         return self.globalstate.directives['profile'] or self.globalstate.directives['linetrace']
 * 
 *     def pos_to_offset(self, pos):             # <<<<<<<<<<<<<<
 *         """
 *         Calculate a fake 'instruction offset' from a node position as 31 bit int (32 bit signed).
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_256pos_to_offset(PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_255pos_to_offset, "\n        Calculate a fake 'instruction offset' from a node position as 31 bit int (32 bit signed).\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_256pos_to_offset = {"pos_to_offset", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_256pos_to_offset, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_255pos_to_offset};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_256pos_to_offset(PyObject *__pyx_v_self, PyObject *__pyx_v_pos) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("pos_to_offset (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_255pos_to_offset(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_pos));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_255pos_to_offset(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos) {
    PyObject *__pyx_v_scope = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    int __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("pos_to_offset", 0);

    /* "Cython/Compiler/Code.py":3471
 *         Calculate a fake 'instruction offset' from a node position as 31 bit int (32 bit signed).
 *         """
 *         scope = self.funcstate.scope             # <<<<<<<<<<<<<<
 *         while scope and pos not in scope.node_positions_to_offset:
 *             scope = scope.parent_scope
*/
    __pyx_t_1 = __pyx_v_self->funcstate->scope;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_scope = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3472
 *         """
 *         scope = self.funcstate.scope
 *         while scope and pos not in scope.node_positions_to_offset:             # <<<<<<<<<<<<<<
 *             scope = scope.parent_scope
 *         return scope.node_positions_to_offset[pos] if scope else 0
*/
    while (1) {
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_scope); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3472, __pyx_L1_error)
      if (__pyx_t_3) {
      } else {
        __pyx_t_2 = __pyx_t_3;
        goto __pyx_L5_bool_binop_done;
      }
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_node_positions_to_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3472, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_v_pos, __pyx_t_1, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3472, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_2 = __pyx_t_3;
      __pyx_L5_bool_binop_done:;
      if (!__pyx_t_2) break;

      /* "Cython/Compiler/Code.py":3473
 *         scope = self.funcstate.scope
 *         while scope and pos not in scope.node_positions_to_offset:
 *             scope = scope.parent_scope             # <<<<<<<<<<<<<<
 *         return scope.node_positions_to_offset[pos] if scope else 0
 * 
*/
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_parent_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF_SET(__pyx_v_scope, __pyx_t_1);
      __pyx_t_1 = 0;
    }

    /* "Cython/Compiler/Code.py":3474
 *         while scope and pos not in scope.node_positions_to_offset:
 *             scope = scope.parent_scope
 *         return scope.node_positions_to_offset[pos] if scope else 0             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_declarations(self, is_generator=False):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_scope); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3474, __pyx_L1_error)
    if (__pyx_t_2) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_node_positions_to_offset); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_pos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3474, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_1 = __pyx_t_5;
      __pyx_t_5 = 0;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
      __pyx_t_1 = __pyx_mstate_global->__pyx_int_0;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3467
 *         return self.globalstate.directives['profile'] or self.globalstate.directives['linetrace']
 * 
 *     def pos_to_offset(self, pos):             # <<<<<<<<<<<<<<
 *         """
 *         Calculate a fake 'instruction offset' from a node position as 31 bit int (32 bit signed).
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.pos_to_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_scope);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3476
 *         return scope.node_positions_to_offset[pos] if scope else 0
 * 
 *     def put_trace_declarations(self, is_generator=False):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceDeclarationsGen' if is_generator else '__Pyx_TraceDeclarationsFunc')
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_258put_trace_declarations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_258put_trace_declarations = {"put_trace_declarations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_258put_trace_declarations, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_258put_trace_declarations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_is_generator = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_declarations (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_is_generator,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3476, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3476, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_declarations", 0) < (0)) __PYX_ERR(0, 3476, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3476, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_is_generator = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_declarations", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 3476, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_declarations", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_257put_trace_declarations(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_is_generator);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_257put_trace_declarations(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_is_generator) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_declarations", 0);

    /* "Cython/Compiler/Code.py":3477
 * 
 *     def put_trace_declarations(self, is_generator=False):
 *         self.putln('__Pyx_TraceDeclarationsGen' if is_generator else '__Pyx_TraceDeclarationsFunc')             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_frame_init(self, codeobj=None):
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_generator); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3477, __pyx_L1_error)
    if (__pyx_t_2) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_TraceDeclarationsGen);
      __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Pyx_TraceDeclarationsGen;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_TraceDeclarationsFunc);
      __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Pyx_TraceDeclarationsFunc;
    }
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_t_1;
    __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3476
 *         return scope.node_positions_to_offset[pos] if scope else 0
 * 
 *     def put_trace_declarations(self, is_generator=False):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceDeclarationsGen' if is_generator else '__Pyx_TraceDeclarationsFunc')
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_declarations", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3479
 *         self.putln('__Pyx_TraceDeclarationsGen' if is_generator else '__Pyx_TraceDeclarationsFunc')
 * 
 *     def put_trace_frame_init(self, codeobj=None):             # <<<<<<<<<<<<<<
 *         if codeobj:
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_260put_trace_frame_init(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_260put_trace_frame_init = {"put_trace_frame_init", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_260put_trace_frame_init, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_260put_trace_frame_init(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_codeobj = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_frame_init (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_codeobj,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3479, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3479, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_frame_init", 0) < (0)) __PYX_ERR(0, 3479, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3479, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_codeobj = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_frame_init", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 3479, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_frame_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_259put_trace_frame_init(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_codeobj);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_259put_trace_frame_init(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_codeobj) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_frame_init", 0);

    /* "Cython/Compiler/Code.py":3480
 * 
 *     def put_trace_frame_init(self, codeobj=None):
 *         if codeobj:             # <<<<<<<<<<<<<<
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_codeobj); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3480, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3481
 *     def put_trace_frame_init(self, codeobj=None):
 *         if codeobj:
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_start(self, name, pos, nogil=False, is_generator=False, is_cpdef_func=False):
*/
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Pyx_TraceFrameInit_s, __pyx_v_codeobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3481, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4.__pyx_n = 1;
      __pyx_t_4.code = __pyx_t_2;
      __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3481, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":3480
 * 
 *     def put_trace_frame_init(self, codeobj=None):
 *         if codeobj:             # <<<<<<<<<<<<<<
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
*/
    }

    /* "Cython/Compiler/Code.py":3479
 *         self.putln('__Pyx_TraceDeclarationsGen' if is_generator else '__Pyx_TraceDeclarationsFunc')
 * 
 *     def put_trace_frame_init(self, codeobj=None):             # <<<<<<<<<<<<<<
 *         if codeobj:
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_frame_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3483
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_start(self, name, pos, nogil=False, is_generator=False, is_cpdef_func=False):             # <<<<<<<<<<<<<<
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"
 *         self.putln(
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_262put_trace_start(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_262put_trace_start = {"put_trace_start", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_262put_trace_start, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_262put_trace_start(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_name = 0;
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_nogil = 0;
    PyObject *__pyx_v_is_generator = 0;
    PyObject *__pyx_v_is_cpdef_func = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[5] = {0,0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_start (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_nogil,&__pyx_mstate_global->__pyx_n_u_is_generator,&__pyx_mstate_global->__pyx_n_u_is_cpdef_func,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3483, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_start", 0) < (0)) __PYX_ERR(0, 3483, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_trace_start", 0, 2, 5, i); __PYX_ERR(0, 3483, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  5:
          values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3483, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3483, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3483, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_name = values[0];
      __pyx_v_pos = values[1];
      __pyx_v_nogil = values[2];
      __pyx_v_is_generator = values[3];
      __pyx_v_is_cpdef_func = values[4];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_start", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 3483, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_261put_trace_start(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_name, __pyx_v_pos, __pyx_v_nogil, __pyx_v_is_generator, __pyx_v_is_cpdef_func);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_261put_trace_start(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_pos, PyObject *__pyx_v_nogil, PyObject *__pyx_v_is_generator, PyObject *__pyx_v_is_cpdef_func) {
    PyObject *__pyx_v_trace_func = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    PyObject *__pyx_t_9 = NULL;
    PyObject *__pyx_t_10 = NULL;
    PyObject *__pyx_t_11 = NULL;
    PyObject *__pyx_t_12[18];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_13;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_start", 0);

    /* "Cython/Compiler/Code.py":3484
 * 
 *     def put_trace_start(self, name, pos, nogil=False, is_generator=False, is_cpdef_func=False):
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"             # <<<<<<<<<<<<<<
 *         self.putln(
 *             f'{trace_func}('
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_generator); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3484, __pyx_L1_error)
    if (__pyx_t_2) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_TraceStartGen);
      __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Pyx_TraceStartGen;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_TraceStartFunc);
      __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_Pyx_TraceStartFunc;
    }
    __pyx_v_trace_func = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3486
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"
 *         self.putln(
 *             f'{trace_func}('             # <<<<<<<<<<<<<<
 *             f'{name.as_c_string_literal()}, '
 *             f'{Naming.filetable_cname}[{self.lookup_filename(pos[0])}], '
*/
    __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_v_trace_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":3487
 *         self.putln(
 *             f'{trace_func}('
 *             f'{name.as_c_string_literal()}, '             # <<<<<<<<<<<<<<
 *             f'{Naming.filetable_cname}[{self.lookup_filename(pos[0])}], '
 *             f'{pos[1]}, '
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_as_c_string_literal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":3488
 *             f'{trace_func}('
 *             f'{name.as_c_string_literal()}, '
 *             f'{Naming.filetable_cname}[{self.lookup_filename(pos[0])}], '             # <<<<<<<<<<<<<<
 *             f'{pos[1]}, '
 *             f'{self.pos_to_offset(pos):d}, '
*/
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_filetable_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_lookup_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_pos, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3489
 *             f'{name.as_c_string_literal()}, '
 *             f'{Naming.filetable_cname}[{self.lookup_filename(pos[0])}], '
 *             f'{pos[1]}, '             # <<<<<<<<<<<<<<
 *             f'{self.pos_to_offset(pos):d}, '
 *             f'{nogil:d}, '
*/
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":3490
 *             f'{Naming.filetable_cname}[{self.lookup_filename(pos[0])}], '
 *             f'{pos[1]}, '
 *             f'{self.pos_to_offset(pos):d}, '             # <<<<<<<<<<<<<<
 *             f'{nogil:d}, '
 *             f'{Naming.skip_dispatch_cname if is_cpdef_func else "0"}, '
*/
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_Format(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":3491
 *             f'{pos[1]}, '
 *             f'{self.pos_to_offset(pos):d}, '
 *             f'{nogil:d}, '             # <<<<<<<<<<<<<<
 *             f'{Naming.skip_dispatch_cname if is_cpdef_func else "0"}, '
 *             f'{self.error_goto(pos)}'
*/
    __pyx_t_8 = __Pyx_PyObject_Format(__pyx_v_nogil, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);

    /* "Cython/Compiler/Code.py":3492
 *             f'{self.pos_to_offset(pos):d}, '
 *             f'{nogil:d}, '
 *             f'{Naming.skip_dispatch_cname if is_cpdef_func else "0"}, '             # <<<<<<<<<<<<<<
 *             f'{self.error_goto(pos)}'
 *             ');'
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_cpdef_func); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3492, __pyx_L1_error)
    if (__pyx_t_2) {
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_skip_dispatch_cname); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3492, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_9 = __pyx_t_10;
      __pyx_t_10 = 0;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_0);
      __pyx_t_9 = __pyx_mstate_global->__pyx_kp_u_0;
    }
    __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":3493
 *             f'{nogil:d}, '
 *             f'{Naming.skip_dispatch_cname if is_cpdef_func else "0"}, '
 *             f'{self.error_goto(pos)}'             # <<<<<<<<<<<<<<
 *             ');'
 *         )
*/
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_error_goto); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_pos); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_12[0] = __pyx_t_1;
    __pyx_t_12[1] = __pyx_mstate_global->__pyx_kp_u__15;
    __pyx_t_12[2] = __pyx_t_3;
    __pyx_t_12[3] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_12[4] = __pyx_t_5;
    __pyx_t_12[5] = __pyx_mstate_global->__pyx_kp_u__22;
    __pyx_t_12[6] = __pyx_t_6;
    __pyx_t_12[7] = __pyx_mstate_global->__pyx_kp_u__76;
    __pyx_t_12[8] = __pyx_t_4;
    __pyx_t_12[9] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_12[10] = __pyx_t_7;
    __pyx_t_12[11] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_12[12] = __pyx_t_8;
    __pyx_t_12[13] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_12[14] = __pyx_t_10;
    __pyx_t_12[15] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_12[16] = __pyx_t_9;
    __pyx_t_12[17] = __pyx_mstate_global->__pyx_kp_u__42;

    /* "Cython/Compiler/Code.py":3486
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"
 *         self.putln(
 *             f'{trace_func}('             # <<<<<<<<<<<<<<
 *             f'{name.as_c_string_literal()}, '
 *             f'{Naming.filetable_cname}[{self.lookup_filename(pos[0])}], '
*/
    __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_12, 18, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2 * 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9));
    if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":3485
 *     def put_trace_start(self, name, pos, nogil=False, is_generator=False, is_cpdef_func=False):
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"
 *         self.putln(             # <<<<<<<<<<<<<<
 *             f'{trace_func}('
 *             f'{name.as_c_string_literal()}, '
*/
    __pyx_t_13.__pyx_n = 1;
    __pyx_t_13.code = __pyx_t_11;
    __pyx_t_9 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":3483
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_start(self, name, pos, nogil=False, is_generator=False, is_cpdef_func=False):             # <<<<<<<<<<<<<<
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"
 *         self.putln(
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_11);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_trace_func);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3497
 *         )
 * 
 *     def put_trace_exit(self, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_PyMonitoring_ExitScope({bool(nogil):d});")
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_264put_trace_exit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_264put_trace_exit = {"put_trace_exit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_264put_trace_exit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_264put_trace_exit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_nogil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_exit (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nogil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3497, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3497, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_exit", 0) < (0)) __PYX_ERR(0, 3497, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3497, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_nogil = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_exit", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 3497, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_exit", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_263put_trace_exit(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_nogil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_263put_trace_exit(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_nogil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4[3];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_exit", 0);

    /* "Cython/Compiler/Code.py":3498
 * 
 *     def put_trace_exit(self, nogil=False):
 *         self.putln(f"__Pyx_PyMonitoring_ExitScope({bool(nogil):d});")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_yield(self, retvalue_cname, pos):
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_nogil); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3498, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Format(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_PyMonitoring_ExitScope;
    __pyx_t_4[1] = __pyx_t_3;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 29 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5.__pyx_n = 1;
    __pyx_t_5.code = __pyx_t_2;
    __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3497
 *         )
 * 
 *     def put_trace_exit(self, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_PyMonitoring_ExitScope({bool(nogil):d});")
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_exit", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3500
 *         self.putln(f"__Pyx_PyMonitoring_ExitScope({bool(nogil):d});")
 * 
 *     def put_trace_yield(self, retvalue_cname, pos):             # <<<<<<<<<<<<<<
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_266put_trace_yield(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_266put_trace_yield = {"put_trace_yield", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_266put_trace_yield, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_266put_trace_yield(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_retvalue_cname = 0;
    PyObject *__pyx_v_pos = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_yield (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_retvalue_cname,&__pyx_mstate_global->__pyx_n_u_pos,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3500, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3500, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3500, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_yield", 0) < (0)) __PYX_ERR(0, 3500, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_trace_yield", 1, 2, 2, i); __PYX_ERR(0, 3500, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3500, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3500, __pyx_L3_error)
      }
      __pyx_v_retvalue_cname = values[0];
      __pyx_v_pos = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_yield", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3500, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_yield", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_265put_trace_yield(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_retvalue_cname, __pyx_v_pos);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_265put_trace_yield(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_retvalue_cname, PyObject *__pyx_v_pos) {
    PyObject *__pyx_v_error_goto = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5[7];
    PyObject *__pyx_t_6 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_yield", 0);

    /* "Cython/Compiler/Code.py":3501
 * 
 *     def put_trace_yield(self, retvalue_cname, pos):
 *         error_goto = self.error_goto(pos)             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_pos};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_error_goto = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3502
 *     def put_trace_yield(self, retvalue_cname, pos):
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_resume(self, pos):
*/
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_retvalue_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_error_goto, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceYield;
    __pyx_t_5[1] = __pyx_t_1;
    __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_5[3] = __pyx_t_2;
    __pyx_t_5[4] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_5[5] = __pyx_t_4;
    __pyx_t_5[6] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 7, 17 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_t_6;
    __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":3500
 *         self.putln(f"__Pyx_PyMonitoring_ExitScope({bool(nogil):d});")
 * 
 *     def put_trace_yield(self, retvalue_cname, pos):             # <<<<<<<<<<<<<<
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_yield", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_error_goto);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3504
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
 *     def put_trace_resume(self, pos):             # <<<<<<<<<<<<<<
 *         scope = self.funcstate.scope
 *         # pos[1] is probably not the first line, so try to find the first line of the generator function.
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_268put_trace_resume(PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_268put_trace_resume = {"put_trace_resume", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_268put_trace_resume, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_268put_trace_resume(PyObject *__pyx_v_self, PyObject *__pyx_v_pos) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_resume (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_267put_trace_resume(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_pos));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_267put_trace_resume(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos) {
    PyObject *__pyx_v_scope = NULL;
    PyObject *__pyx_v_first_line = NULL;
    PyObject *__pyx_v_name = NULL;
    PyObject *__pyx_v_filename_index = NULL;
    PyObject *__pyx_v_error_goto = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    PyObject *__pyx_t_9[13];
    PyObject *__pyx_t_10 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_11;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_resume", 0);

    /* "Cython/Compiler/Code.py":3505
 * 
 *     def put_trace_resume(self, pos):
 *         scope = self.funcstate.scope             # <<<<<<<<<<<<<<
 *         # pos[1] is probably not the first line, so try to find the first line of the generator function.
 *         first_line = scope.scope_class.pos[1] if scope.scope_class else pos[1]
*/
    __pyx_t_1 = __pyx_v_self->funcstate->scope;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_scope = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3507
 *         scope = self.funcstate.scope
 *         # pos[1] is probably not the first line, so try to find the first line of the generator function.
 *         first_line = scope.scope_class.pos[1] if scope.scope_class else pos[1]             # <<<<<<<<<<<<<<
 *         name = scope.name.as_c_string_literal()
 *         filename_index = self.lookup_filename(pos[0])
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_scope_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3507, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_3) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_scope_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_1 = __pyx_t_2;
      __pyx_t_2 = 0;
    } else {
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = __pyx_t_2;
      __pyx_t_2 = 0;
    }
    __pyx_v_first_line = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3508
 *         # pos[1] is probably not the first line, so try to find the first line of the generator function.
 *         first_line = scope.scope_class.pos[1] if scope.scope_class else pos[1]
 *         name = scope.name.as_c_string_literal()             # <<<<<<<<<<<<<<
 *         filename_index = self.lookup_filename(pos[0])
 *         error_goto = self.error_goto(pos)
*/
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_as_c_string_literal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3508, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_name = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3509
 *         first_line = scope.scope_class.pos[1] if scope.scope_class else pos[1]
 *         name = scope.name.as_c_string_literal()
 *         filename_index = self.lookup_filename(pos[0])             # <<<<<<<<<<<<<<
 *         error_goto = self.error_goto(pos)
 *         self.putln(
*/
    __pyx_t_4 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_pos, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_lookup_filename, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3509, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_filename_index = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3510
 *         name = scope.name.as_c_string_literal()
 *         filename_index = self.lookup_filename(pos[0])
 *         error_goto = self.error_goto(pos)             # <<<<<<<<<<<<<<
 *         self.putln(
 *             '__Pyx_TraceResumeGen('
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_pos};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3510, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_error_goto = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3513
 *         self.putln(
 *             '__Pyx_TraceResumeGen('
 *             f'{name}, '             # <<<<<<<<<<<<<<
 *             f'{Naming.filetable_cname}[{filename_index}], '
 *             f'{first_line}, '
*/
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":3514
 *             '__Pyx_TraceResumeGen('
 *             f'{name}, '
 *             f'{Naming.filetable_cname}[{filename_index}], '             # <<<<<<<<<<<<<<
 *             f'{first_line}, '
 *             f'{self.pos_to_offset(pos)}, '
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_filetable_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_filename_index, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":3515
 *             f'{name}, '
 *             f'{Naming.filetable_cname}[{filename_index}], '
 *             f'{first_line}, '             # <<<<<<<<<<<<<<
 *             f'{self.pos_to_offset(pos)}, '
 *             f'{error_goto}'
*/
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_first_line, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);

    /* "Cython/Compiler/Code.py":3516
 *             f'{Naming.filetable_cname}[{filename_index}], '
 *             f'{first_line}, '
 *             f'{self.pos_to_offset(pos)}, '             # <<<<<<<<<<<<<<
 *             f'{error_goto}'
 *             ');'
*/
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":3517
 *             f'{first_line}, '
 *             f'{self.pos_to_offset(pos)}, '
 *             f'{error_goto}'             # <<<<<<<<<<<<<<
 *             ');'
 *         )
*/
    __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_error_goto, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_9[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceResumeGen;
    __pyx_t_9[1] = __pyx_t_1;
    __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_9[3] = __pyx_t_4;
    __pyx_t_9[4] = __pyx_mstate_global->__pyx_kp_u__22;
    __pyx_t_9[5] = __pyx_t_2;
    __pyx_t_9[6] = __pyx_mstate_global->__pyx_kp_u__76;
    __pyx_t_9[7] = __pyx_t_6;
    __pyx_t_9[8] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_9[9] = __pyx_t_7;
    __pyx_t_9[10] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_9[11] = __pyx_t_8;
    __pyx_t_9[12] = __pyx_mstate_global->__pyx_kp_u__42;

    /* "Cython/Compiler/Code.py":3512
 *         error_goto = self.error_goto(pos)
 *         self.putln(
 *             '__Pyx_TraceResumeGen('             # <<<<<<<<<<<<<<
 *             f'{name}, '
 *             f'{Naming.filetable_cname}[{filename_index}], '
*/
    __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_9, 13, 21 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":3511
 *         filename_index = self.lookup_filename(pos[0])
 *         error_goto = self.error_goto(pos)
 *         self.putln(             # <<<<<<<<<<<<<<
 *             '__Pyx_TraceResumeGen('
 *             f'{name}, '
*/
    __pyx_t_11.__pyx_n = 1;
    __pyx_t_11.code = __pyx_t_10;
    __pyx_t_8 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":3504
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
 *     def put_trace_resume(self, pos):             # <<<<<<<<<<<<<<
 *         scope = self.funcstate.scope
 *         # pos[1] is probably not the first line, so try to find the first line of the generator function.
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_10);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_resume", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_scope);
    __Pyx_XDECREF(__pyx_v_first_line);
    __Pyx_XDECREF(__pyx_v_name);
    __Pyx_XDECREF(__pyx_v_filename_index);
    __Pyx_XDECREF(__pyx_v_error_goto);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3521
 *         )
 * 
 *     def put_trace_exception(self, pos, reraise=False, fresh=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_270put_trace_exception(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_270put_trace_exception = {"put_trace_exception", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_270put_trace_exception, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_270put_trace_exception(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_reraise = 0;
    PyObject *__pyx_v_fresh = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[3] = {0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_exception (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_reraise,&__pyx_mstate_global->__pyx_n_u_fresh,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3521, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3521, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3521, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3521, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_exception", 0) < (0)) __PYX_ERR(0, 3521, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_trace_exception", 0, 1, 3, i); __PYX_ERR(0, 3521, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3521, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3521, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3521, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_pos = values[0];
      __pyx_v_reraise = values[1];
      __pyx_v_fresh = values[2];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_exception", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 3521, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_exception", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_269put_trace_exception(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_reraise, __pyx_v_fresh);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_269put_trace_exception(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_reraise, PyObject *__pyx_v_fresh) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6[7];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_exception", 0);

    /* "Cython/Compiler/Code.py":3522
 * 
 *     def put_trace_exception(self, pos, reraise=False, fresh=False):
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_exception_propagating(self):
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_reraise); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3522, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyBool_FromLong((!(!__pyx_t_3))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Format(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_fresh); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3522, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyBool_FromLong((!(!__pyx_t_3))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_Format(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_6[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceException;
    __pyx_t_6[1] = __pyx_t_1;
    __pyx_t_6[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_6[3] = __pyx_t_4;
    __pyx_t_6[4] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_6[5] = __pyx_t_5;
    __pyx_t_6[6] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_6, 7, 21 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_t_2;
    __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":3521
 *         )
 * 
 *     def put_trace_exception(self, pos, reraise=False, fresh=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_exception", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3524
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")
 * 
 *     def put_trace_exception_propagating(self):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceException({Naming.lineno_cname}, 0, 0);")
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_272put_trace_exception_propagating(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_272put_trace_exception_propagating = {"put_trace_exception_propagating", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_272put_trace_exception_propagating, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_272put_trace_exception_propagating(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_exception_propagating (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_271put_trace_exception_propagating(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_271put_trace_exception_propagating(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3[3];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_exception_propagating", 0);

    /* "Cython/Compiler/Code.py":3525
 * 
 *     def put_trace_exception_propagating(self):
 *         self.putln(f"__Pyx_TraceException({Naming.lineno_cname}, 0, 0);")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_exception_handled(self, pos):
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_lineno_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceException;
    __pyx_t_3[1] = __pyx_t_2;
    __pyx_t_3[2] = __pyx_mstate_global->__pyx_kp_u_0_0;
    __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, 21 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_t_1;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3524
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")
 * 
 *     def put_trace_exception_propagating(self):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceException({Naming.lineno_cname}, 0, 0);")
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_exception_propagating", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3527
 *         self.putln(f"__Pyx_TraceException({Naming.lineno_cname}, 0, 0);")
 * 
 *     def put_trace_exception_handled(self, pos):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceExceptionHandled({self.pos_to_offset(pos)});")
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_274put_trace_exception_handled(PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_274put_trace_exception_handled = {"put_trace_exception_handled", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_274put_trace_exception_handled, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_274put_trace_exception_handled(PyObject *__pyx_v_self, PyObject *__pyx_v_pos) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_exception_handled (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_273put_trace_exception_handled(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_pos));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_273put_trace_exception_handled(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3[3];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_exception_handled", 0);

    /* "Cython/Compiler/Code.py":3528
 * 
 *     def put_trace_exception_handled(self, pos):
 *         self.putln(f"__Pyx_TraceExceptionHandled({self.pos_to_offset(pos)});")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_unwind(self, pos, nogil=False):
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceExceptionHandled;
    __pyx_t_3[1] = __pyx_t_1;
    __pyx_t_3[2] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, 28 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4.__pyx_n = 1;
    __pyx_t_4.code = __pyx_t_2;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3527
 *         self.putln(f"__Pyx_TraceException({Naming.lineno_cname}, 0, 0);")
 * 
 *     def put_trace_exception_handled(self, pos):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceExceptionHandled({self.pos_to_offset(pos)});")
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_exception_handled", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3530
 *         self.putln(f"__Pyx_TraceExceptionHandled({self.pos_to_offset(pos)});")
 * 
 *     def put_trace_unwind(self, pos, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceExceptionUnwind({self.pos_to_offset(pos)}, {bool(nogil):d});")
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_276put_trace_unwind(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_276put_trace_unwind = {"put_trace_unwind", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_276put_trace_unwind, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_276put_trace_unwind(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_nogil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_unwind (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_nogil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3530, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3530, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3530, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_unwind", 0) < (0)) __PYX_ERR(0, 3530, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_trace_unwind", 0, 1, 2, i); __PYX_ERR(0, 3530, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3530, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3530, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_pos = values[0];
      __pyx_v_nogil = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_unwind", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3530, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_unwind", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_275put_trace_unwind(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_nogil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_275put_trace_unwind(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_nogil) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5[5];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_unwind", 0);

    /* "Cython/Compiler/Code.py":3531
 * 
 *     def put_trace_unwind(self, pos, nogil=False):
 *         self.putln(f"__Pyx_TraceExceptionUnwind({self.pos_to_offset(pos)}, {bool(nogil):d});")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_stopiteration(self, pos, value):
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_nogil); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3531, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyBool_FromLong((!(!__pyx_t_3))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Format(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceExceptionUnwind;
    __pyx_t_5[1] = __pyx_t_1;
    __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_5[3] = __pyx_t_4;
    __pyx_t_5[4] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, 27 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6.__pyx_n = 1;
    __pyx_t_6.code = __pyx_t_2;
    __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":3530
 *         self.putln(f"__Pyx_TraceExceptionHandled({self.pos_to_offset(pos)});")
 * 
 *     def put_trace_unwind(self, pos, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceExceptionUnwind({self.pos_to_offset(pos)}, {bool(nogil):d});")
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_unwind", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3533
 *         self.putln(f"__Pyx_TraceExceptionUnwind({self.pos_to_offset(pos)}, {bool(nogil):d});")
 * 
 *     def put_trace_stopiteration(self, pos, value):             # <<<<<<<<<<<<<<
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_278put_trace_stopiteration(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_278put_trace_stopiteration = {"put_trace_stopiteration", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_278put_trace_stopiteration, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_278put_trace_stopiteration(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_value = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_stopiteration (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_value,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3533, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3533, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3533, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_stopiteration", 0) < (0)) __PYX_ERR(0, 3533, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_trace_stopiteration", 1, 2, 2, i); __PYX_ERR(0, 3533, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3533, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3533, __pyx_L3_error)
      }
      __pyx_v_pos = values[0];
      __pyx_v_value = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_stopiteration", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3533, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_stopiteration", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_277put_trace_stopiteration(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_pos, __pyx_v_value);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_277put_trace_stopiteration(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_value) {
    PyObject *__pyx_v_error_goto = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5[7];
    PyObject *__pyx_t_6 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_stopiteration", 0);

    /* "Cython/Compiler/Code.py":3534
 * 
 *     def put_trace_stopiteration(self, pos, value):
 *         error_goto = self.error_goto(pos)             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_pos};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3534, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_error_goto = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3535
 *     def put_trace_stopiteration(self, pos, value):
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_return(self, retvalue_cname, pos, return_type=None, nogil=False):
*/
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_value, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_error_goto, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_TraceStopIteration;
    __pyx_t_5[1] = __pyx_t_1;
    __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_5[3] = __pyx_t_2;
    __pyx_t_5[4] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_5[5] = __pyx_t_4;
    __pyx_t_5[6] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 7, 25 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 3 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7.__pyx_n = 1;
    __pyx_t_7.code = __pyx_t_6;
    __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":3533
 *         self.putln(f"__Pyx_TraceExceptionUnwind({self.pos_to_offset(pos)}, {bool(nogil):d});")
 * 
 *     def put_trace_stopiteration(self, pos, value):             # <<<<<<<<<<<<<<
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_stopiteration", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_error_goto);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3537
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
 *     def put_trace_return(self, retvalue_cname, pos, return_type=None, nogil=False):             # <<<<<<<<<<<<<<
 *         extra_arg = ""
 *         trace_func = "__Pyx_TraceReturnValue"
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_280put_trace_return(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_280put_trace_return = {"put_trace_return", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_280put_trace_return, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_280put_trace_return(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_retvalue_cname = 0;
    PyObject *__pyx_v_pos = 0;
    PyObject *__pyx_v_return_type = 0;
    PyObject *__pyx_v_nogil = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[4] = {0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_trace_return (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_retvalue_cname,&__pyx_mstate_global->__pyx_n_u_pos,&__pyx_mstate_global->__pyx_n_u_return_type,&__pyx_mstate_global->__pyx_n_u_nogil,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3537, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3537, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3537, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3537, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3537, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_trace_return", 0) < (0)) __PYX_ERR(0, 3537, __pyx_L3_error)
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_trace_return", 0, 2, 4, i); __PYX_ERR(0, 3537, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3537, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3537, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3537, __pyx_L3_error)
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3537, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      }
      __pyx_v_retvalue_cname = values[0];
      __pyx_v_pos = values[1];
      __pyx_v_return_type = values[2];
      __pyx_v_nogil = values[3];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_trace_return", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 3537, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_return", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_279put_trace_return(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_retvalue_cname, __pyx_v_pos, __pyx_v_return_type, __pyx_v_nogil);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_279put_trace_return(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_retvalue_cname, PyObject *__pyx_v_pos, PyObject *__pyx_v_return_type, PyObject *__pyx_v_nogil) {
    PyObject *__pyx_v_extra_arg = NULL;
    PyObject *__pyx_v_trace_func = NULL;
    PyObject *__pyx_v_error_handling = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    size_t __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7[11];
    PyObject *__pyx_t_8 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_trace_return", 0);
    __Pyx_INCREF(__pyx_v_retvalue_cname);

    /* "Cython/Compiler/Code.py":3538
 * 
 *     def put_trace_return(self, retvalue_cname, pos, return_type=None, nogil=False):
 *         extra_arg = ""             # <<<<<<<<<<<<<<
 *         trace_func = "__Pyx_TraceReturnValue"
 * 
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__9);
    __pyx_v_extra_arg = __pyx_mstate_global->__pyx_kp_u__9;

    /* "Cython/Compiler/Code.py":3539
 *     def put_trace_return(self, retvalue_cname, pos, return_type=None, nogil=False):
 *         extra_arg = ""
 *         trace_func = "__Pyx_TraceReturnValue"             # <<<<<<<<<<<<<<
 * 
 *         if return_type is None:
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_TraceReturnValue);
    __pyx_v_trace_func = __pyx_mstate_global->__pyx_n_u_Pyx_TraceReturnValue;

    /* "Cython/Compiler/Code.py":3541
 *         trace_func = "__Pyx_TraceReturnValue"
 * 
 *         if return_type is None:             # <<<<<<<<<<<<<<
 *             pass
 *         elif return_type.is_pyobject:
*/
    __pyx_t_1 = (__pyx_v_return_type == Py_None);
    if (__pyx_t_1) {
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3543
 *         if return_type is None:
 *             pass
 *         elif return_type.is_pyobject:             # <<<<<<<<<<<<<<
 *             retvalue_cname = return_type.as_pyobject(retvalue_cname)
 *         elif return_type.is_void:
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_type, __pyx_mstate_global->__pyx_n_u_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3544
 *             pass
 *         elif return_type.is_pyobject:
 *             retvalue_cname = return_type.as_pyobject(retvalue_cname)             # <<<<<<<<<<<<<<
 *         elif return_type.is_void:
 *             retvalue_cname = 'Py_None'
*/
      __pyx_t_3 = __pyx_v_return_type;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_retvalue_cname};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_as_pyobject, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3544, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF_SET(__pyx_v_retvalue_cname, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3543
 *         if return_type is None:
 *             pass
 *         elif return_type.is_pyobject:             # <<<<<<<<<<<<<<
 *             retvalue_cname = return_type.as_pyobject(retvalue_cname)
 *         elif return_type.is_void:
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3545
 *         elif return_type.is_pyobject:
 *             retvalue_cname = return_type.as_pyobject(retvalue_cname)
 *         elif return_type.is_void:             # <<<<<<<<<<<<<<
 *             retvalue_cname = 'Py_None'
 *         elif return_type.is_string:
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_type, __pyx_mstate_global->__pyx_n_u_is_void); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3545, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3546
 *             retvalue_cname = return_type.as_pyobject(retvalue_cname)
 *         elif return_type.is_void:
 *             retvalue_cname = 'Py_None'             # <<<<<<<<<<<<<<
 *         elif return_type.is_string:
 *             # We don't know if the C string is 0-terminated, but we cannot convert if it's not.
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_None);
      __Pyx_DECREF_SET(__pyx_v_retvalue_cname, __pyx_mstate_global->__pyx_n_u_Py_None);

      /* "Cython/Compiler/Code.py":3545
 *         elif return_type.is_pyobject:
 *             retvalue_cname = return_type.as_pyobject(retvalue_cname)
 *         elif return_type.is_void:             # <<<<<<<<<<<<<<
 *             retvalue_cname = 'Py_None'
 *         elif return_type.is_string:
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3547
 *         elif return_type.is_void:
 *             retvalue_cname = 'Py_None'
 *         elif return_type.is_string:             # <<<<<<<<<<<<<<
 *             # We don't know if the C string is 0-terminated, but we cannot convert if it's not.
 *             retvalue_cname = 'Py_None'
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_type, __pyx_mstate_global->__pyx_n_u_is_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3547, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3549
 *         elif return_type.is_string:
 *             # We don't know if the C string is 0-terminated, but we cannot convert if it's not.
 *             retvalue_cname = 'Py_None'             # <<<<<<<<<<<<<<
 *         elif return_type.to_py_function:
 *             trace_func = "__Pyx_TraceReturnCValue"
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_None);
      __Pyx_DECREF_SET(__pyx_v_retvalue_cname, __pyx_mstate_global->__pyx_n_u_Py_None);

      /* "Cython/Compiler/Code.py":3547
 *         elif return_type.is_void:
 *             retvalue_cname = 'Py_None'
 *         elif return_type.is_string:             # <<<<<<<<<<<<<<
 *             # We don't know if the C string is 0-terminated, but we cannot convert if it's not.
 *             retvalue_cname = 'Py_None'
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3550
 *             # We don't know if the C string is 0-terminated, but we cannot convert if it's not.
 *             retvalue_cname = 'Py_None'
 *         elif return_type.to_py_function:             # <<<<<<<<<<<<<<
 *             trace_func = "__Pyx_TraceReturnCValue"
 *             extra_arg = f", {return_type.to_py_function}"
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_type, __pyx_mstate_global->__pyx_n_u_to_py_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3550, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3551
 *             retvalue_cname = 'Py_None'
 *         elif return_type.to_py_function:
 *             trace_func = "__Pyx_TraceReturnCValue"             # <<<<<<<<<<<<<<
 *             extra_arg = f", {return_type.to_py_function}"
 *         else:
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Pyx_TraceReturnCValue);
      __Pyx_DECREF_SET(__pyx_v_trace_func, __pyx_mstate_global->__pyx_n_u_Pyx_TraceReturnCValue);

      /* "Cython/Compiler/Code.py":3552
 *         elif return_type.to_py_function:
 *             trace_func = "__Pyx_TraceReturnCValue"
 *             extra_arg = f", {return_type.to_py_function}"             # <<<<<<<<<<<<<<
 *         else:
 *             # We don't have a Python visible return value but we still need to report that we returned.
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_type, __pyx_mstate_global->__pyx_n_u_to_py_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3552, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3552, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u__39, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3552, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF_SET(__pyx_v_extra_arg, ((PyObject*)__pyx_t_2));
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3550
 *             # We don't know if the C string is 0-terminated, but we cannot convert if it's not.
 *             retvalue_cname = 'Py_None'
 *         elif return_type.to_py_function:             # <<<<<<<<<<<<<<
 *             trace_func = "__Pyx_TraceReturnCValue"
 *             extra_arg = f", {return_type.to_py_function}"
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3556
 *             # We don't have a Python visible return value but we still need to report that we returned.
 *             # 'None' may not be a misleading (it's false, for one), but it's hopefully better than nothing.
 *             retvalue_cname = 'Py_None'             # <<<<<<<<<<<<<<
 * 
 *         error_handling = self.error_goto(pos)
*/
    /*else*/ {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Py_None);
      __Pyx_DECREF_SET(__pyx_v_retvalue_cname, __pyx_mstate_global->__pyx_n_u_Py_None);
    }
    __pyx_L3:;

    /* "Cython/Compiler/Code.py":3558
 *             retvalue_cname = 'Py_None'
 * 
 *         error_handling = self.error_goto(pos)             # <<<<<<<<<<<<<<
 *         self.putln(f"{trace_func}({retvalue_cname}{extra_arg}, {self.pos_to_offset(pos)}, {bool(nogil):d}, {error_handling});")
 * 
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pos};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_error_goto, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_error_handling = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3559
 * 
 *         error_handling = self.error_goto(pos)
 *         self.putln(f"{trace_func}({retvalue_cname}{extra_arg}, {self.pos_to_offset(pos)}, {bool(nogil):d}, {error_handling});")             # <<<<<<<<<<<<<<
 * 
 *     def put_cpp_placement_new(self, target,
*/
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_v_retvalue_cname, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pos_to_offset); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_pos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_nogil); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3559, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_Format(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_error_handling, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7[0] = __pyx_v_trace_func;
    __pyx_t_7[1] = __pyx_mstate_global->__pyx_kp_u__15;
    __pyx_t_7[2] = __pyx_t_2;
    __pyx_t_7[3] = __pyx_v_extra_arg;
    __pyx_t_7[4] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[5] = __pyx_t_3;
    __pyx_t_7[6] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[7] = __pyx_t_6;
    __pyx_t_7[8] = __pyx_mstate_global->__pyx_kp_u__39;
    __pyx_t_7[9] = __pyx_t_5;
    __pyx_t_7[10] = __pyx_mstate_global->__pyx_kp_u__42;
    __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_7, 11, __Pyx_PyUnicode_GET_LENGTH(__pyx_v_trace_func) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + __Pyx_PyUnicode_GET_LENGTH(__pyx_v_extra_arg) + 2 * 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_trace_func) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_v_extra_arg) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_9.__pyx_n = 1;
    __pyx_t_9.code = __pyx_t_8;
    __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":3537
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
 *     def put_trace_return(self, retvalue_cname, pos, return_type=None, nogil=False):             # <<<<<<<<<<<<<<
 *         extra_arg = ""
 *         trace_func = "__Pyx_TraceReturnValue"
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_return", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_extra_arg);
    __Pyx_XDECREF(__pyx_v_trace_func);
    __Pyx_XDECREF(__pyx_v_error_handling);
    __Pyx_XDECREF(__pyx_v_retvalue_cname);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3561
 *         self.putln(f"{trace_func}({retvalue_cname}{extra_arg}, {self.pos_to_offset(pos)}, {bool(nogil):d}, {error_handling});")
 * 
 *     def put_cpp_placement_new(self, target,             # <<<<<<<<<<<<<<
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):
 *         self.globalstate.use_utility_code(_utility_code)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_282put_cpp_placement_new(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_282put_cpp_placement_new = {"put_cpp_placement_new", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_282put_cpp_placement_new, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_282put_cpp_placement_new(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_target = 0;
    PyObject *__pyx_v__utility_code = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_cpp_placement_new (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_target,&__pyx_mstate_global->__pyx_n_u_utility_code_2,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3561, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3561, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3561, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_cpp_placement_new", 0) < (0)) __PYX_ERR(0, 3561, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__77);
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_cpp_placement_new", 0, 1, 2, i); __PYX_ERR(0, 3561, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3561, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3561, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__77);
      }
      __pyx_v_target = values[0];
      __pyx_v__utility_code = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_cpp_placement_new", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3561, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_cpp_placement_new", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_281put_cpp_placement_new(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), __pyx_v_target, __pyx_v__utility_code);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_281put_cpp_placement_new(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_target, PyObject *__pyx_v__utility_code) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    PyObject *__pyx_t_4[3];
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_cpp_placement_new", 0);

    /* "Cython/Compiler/Code.py":3563
 *     def put_cpp_placement_new(self, target,
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):
 *         self.globalstate.use_utility_code(_utility_code)             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")
 * 
*/
    __pyx_t_2 = __pyx_v_self->globalstate;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v__utility_code};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3563, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3564
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):
 *         self.globalstate.use_utility_code(_utility_code)
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")             # <<<<<<<<<<<<<<
 * 
 *     def putln_openmp(self, string):
*/
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_target, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_Pyx_default_placement_construc;
    __pyx_t_4[1] = __pyx_t_1;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__78;
    __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 36 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 3, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1));
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5.__pyx_n = 1;
    __pyx_t_5.code = __pyx_t_2;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3561
 *         self.putln(f"{trace_func}({retvalue_cname}{extra_arg}, {self.pos_to_offset(pos)}, {bool(nogil):d}, {error_handling});")
 * 
 *     def put_cpp_placement_new(self, target,             # <<<<<<<<<<<<<<
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):
 *         self.globalstate.use_utility_code(_utility_code)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_cpp_placement_new", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3566
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")
 * 
 *     def putln_openmp(self, string):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_284putln_openmp(PyObject *__pyx_v_self, PyObject *__pyx_v_string); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_284putln_openmp = {"putln_openmp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_284putln_openmp, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_284putln_openmp(PyObject *__pyx_v_self, PyObject *__pyx_v_string) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("putln_openmp (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_283putln_openmp(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_string));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_283putln_openmp(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_string) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_2;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("putln_openmp", 0);

    /* "Cython/Compiler/Code.py":3567
 * 
 *     def putln_openmp(self, string):
 *         self.putln("#ifdef _OPENMP")             # <<<<<<<<<<<<<<
 *         self.putln(string)
 *         self.putln("#endif /[inserted by cython to avoid comment start]* _OPENMP *[inserted by cython to avoid comment closer]/")
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u_ifdef__OPENMP;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3568
 *     def putln_openmp(self, string):
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)             # <<<<<<<<<<<<<<
 *         self.putln("#endif /[inserted by cython to avoid comment start]* _OPENMP *[inserted by cython to avoid comment closer]/")
 * 
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_v_string;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3569
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)
 *         self.putln("#endif /[inserted by cython to avoid comment start]* _OPENMP *[inserted by cython to avoid comment closer]/")             # <<<<<<<<<<<<<<
 * 
 *     def undef_builtin_expect(self, cond):
*/
    __pyx_t_2.__pyx_n = 1;
    __pyx_t_2.code = __pyx_mstate_global->__pyx_kp_u_endif__OPENMP;
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3566
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")
 * 
 *     def putln_openmp(self, string):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.putln_openmp", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3571
 *         self.putln("#endif /[inserted by cython to avoid comment start]* _OPENMP *[inserted by cython to avoid comment closer]/")
 * 
 *     def undef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         """
 *         Redefine the macros likely() and unlikely to no-ops, depending on
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_286undef_builtin_expect(PyObject *__pyx_v_self, PyObject *__pyx_v_cond); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_285undef_builtin_expect, "\n        Redefine the macros likely() and unlikely to no-ops, depending on\n        condition 'cond'\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_286undef_builtin_expect = {"undef_builtin_expect", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_286undef_builtin_expect, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_285undef_builtin_expect};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_286undef_builtin_expect(PyObject *__pyx_v_self, PyObject *__pyx_v_cond) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("undef_builtin_expect (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_285undef_builtin_expect(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_cond));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_285undef_builtin_expect(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("undef_builtin_expect", 0);

    /* "Cython/Compiler/Code.py":3576
 *         condition 'cond'
 *         """
 *         self.putln("#if %s" % cond)             # <<<<<<<<<<<<<<
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")
*/
    __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_if_s, __pyx_v_cond); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_t_1;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3577
 *         """
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")             # <<<<<<<<<<<<<<
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_undef_likely;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3578
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")             # <<<<<<<<<<<<<<
 *         self.putln("    #define likely(x)   (x)")
 *         self.putln("    #define unlikely(x) (x)")
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_undef_unlikely;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3579
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")             # <<<<<<<<<<<<<<
 *         self.putln("    #define unlikely(x) (x)")
 *         self.putln("#endif")
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_define_likely_x_x;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3580
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")
 *         self.putln("    #define unlikely(x) (x)")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_define_unlikely_x_x;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3581
 *         self.putln("    #define likely(x)   (x)")
 *         self.putln("    #define unlikely(x) (x)")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def redef_builtin_expect(self, cond):
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_endif;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3571
 *         self.putln("#endif /[inserted by cython to avoid comment start]* _OPENMP *[inserted by cython to avoid comment closer]/")
 * 
 *     def undef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         """
 *         Redefine the macros likely() and unlikely to no-ops, depending on
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.undef_builtin_expect", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3583
 *         self.putln("#endif")
 * 
 *     def redef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_288redef_builtin_expect(PyObject *__pyx_v_self, PyObject *__pyx_v_cond); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_288redef_builtin_expect = {"redef_builtin_expect", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_288redef_builtin_expect, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_288redef_builtin_expect(PyObject *__pyx_v_self, PyObject *__pyx_v_cond) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("redef_builtin_expect (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_287redef_builtin_expect(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_cond));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_287redef_builtin_expect(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_cond) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("redef_builtin_expect", 0);

    /* "Cython/Compiler/Code.py":3584
 * 
 *     def redef_builtin_expect(self, cond):
 *         self.putln("#if %s" % cond)             # <<<<<<<<<<<<<<
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")
*/
    __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_if_s, __pyx_v_cond); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_t_1;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3585
 *     def redef_builtin_expect(self, cond):
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")             # <<<<<<<<<<<<<<
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   __builtin_expect(!!(x), 1)")
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_undef_likely;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3586
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")             # <<<<<<<<<<<<<<
 *         self.putln("    #define likely(x)   __builtin_expect(!!(x), 1)")
 *         self.putln("    #define unlikely(x) __builtin_expect(!!(x), 0)")
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_undef_unlikely;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3587
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   __builtin_expect(!!(x), 1)")             # <<<<<<<<<<<<<<
 *         self.putln("    #define unlikely(x) __builtin_expect(!!(x), 0)")
 *         self.putln("#endif")
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_define_likely_x___builtin_expec;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3588
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   __builtin_expect(!!(x), 1)")
 *         self.putln("    #define unlikely(x) __builtin_expect(!!(x), 0)")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_define_unlikely_x___builtin_exp;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3589
 *         self.putln("    #define likely(x)   __builtin_expect(!!(x), 1)")
 *         self.putln("    #define unlikely(x) __builtin_expect(!!(x), 0)")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_t_3.__pyx_n = 1;
    __pyx_t_3.code = __pyx_mstate_global->__pyx_kp_u_endif;
    __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self->__pyx_vtab)->putln(__pyx_v_self, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3583
 *         self.putln("#endif")
 * 
 *     def redef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.redef_builtin_expect", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":113
 * 
 * cdef class CCodeWriter(object):
 *     cdef readonly StringIOTree buffer             # <<<<<<<<<<<<<<
 *     cdef readonly list pyclass_stack
 *     cdef readonly object globalstate
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_6buffer_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_6buffer_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6buffer___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6buffer___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->buffer);
    __pyx_r = ((PyObject *)__pyx_v_self->buffer);
    goto __pyx_L0;

    /* function exit code */
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":114
 * cdef class CCodeWriter(object):
 *     cdef readonly StringIOTree buffer
 *     cdef readonly list pyclass_stack             # <<<<<<<<<<<<<<
 *     cdef readonly object globalstate
 *     cdef readonly FunctionState funcstate
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13pyclass_stack_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13pyclass_stack_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_13pyclass_stack___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_13pyclass_stack___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_self->pyclass_stack);
    __pyx_r = __pyx_v_self->pyclass_stack;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":115
 *     cdef readonly StringIOTree buffer
 *     cdef readonly list pyclass_stack
 *     cdef readonly object globalstate             # <<<<<<<<<<<<<<
 *     cdef readonly FunctionState funcstate
 *     cdef object code_config
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11globalstate_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11globalstate_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_11globalstate___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_11globalstate___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_self->globalstate);
    __pyx_r = __pyx_v_self->globalstate;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":116
 *     cdef readonly list pyclass_stack
 *     cdef readonly object globalstate
 *     cdef readonly FunctionState funcstate             # <<<<<<<<<<<<<<
 *     cdef object code_config
 *     cdef tuple last_pos
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9funcstate_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9funcstate_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_9funcstate___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_9funcstate___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->funcstate);
    __pyx_r = ((PyObject *)__pyx_v_self->funcstate);
    goto __pyx_L0;

    /* function exit code */
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":121
 *     cdef tuple last_marked_pos
 *     cdef Py_ssize_t level
 *     cdef public Py_ssize_t call_level  # debug-only, see Nodes.py             # <<<<<<<<<<<<<<
 *     cdef bint bol
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10call_level___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10call_level___get__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_self->call_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.call_level.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static int __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
  static int __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_value));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static int __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *__pyx_v_self, PyObject *__pyx_v_value) {
    int __pyx_r;
    Py_ssize_t __pyx_t_1;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 121, __pyx_L1_error)
    __pyx_v_self->call_level = __pyx_t_1;

    /* function exit code */
    __pyx_r = 0;
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.call_level.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = -1;
    __pyx_L0:;
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3596
 *     # level            int       indentation level
 * 
 *     def __init__(self, outfile_name):             # <<<<<<<<<<<<<<
 *         self.f = Utils.open_new_file(outfile_name)
 *         self.level = 0
*/

  /* Python wrapper */
  static int __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
  static int __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
    PyObject *__pyx_v_outfile_name = 0;
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
    #endif
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_outfile_name,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3596, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3596, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 3596, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(0, 3596, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 1)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3596, __pyx_L3_error)
      }
      __pyx_v_outfile_name = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3596, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.PyrexCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return -1;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self), __pyx_v_outfile_name);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static int __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self, PyObject *__pyx_v_outfile_name) {
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("__init__", 0);

    /* "Cython/Compiler/Code.py":3597
 * 
 *     def __init__(self, outfile_name):
 *         self.f = Utils.open_new_file(outfile_name)             # <<<<<<<<<<<<<<
 *         self.level = 0
 * 
*/
    __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_Utils;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_outfile_name};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_open_new_file, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3597, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_v_self->f);
    __Pyx_DECREF(__pyx_v_self->f);
    __pyx_v_self->f = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3598
 *     def __init__(self, outfile_name):
 *         self.f = Utils.open_new_file(outfile_name)
 *         self.level = 0             # <<<<<<<<<<<<<<
 * 
 *     def putln(self, code):
*/
    __pyx_v_self->level = 0;

    /* "Cython/Compiler/Code.py":3596
 *     # level            int       indentation level
 * 
 *     def __init__(self, outfile_name):             # <<<<<<<<<<<<<<
 *         self.f = Utils.open_new_file(outfile_name)
 *         self.level = 0
*/

    /* function exit code */
    __pyx_r = 0;
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyrexCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = -1;
    __pyx_L0:;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3600
 *         self.level = 0
 * 
 *     def putln(self, code):             # <<<<<<<<<<<<<<
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_3putln(PyObject *__pyx_v_self, PyObject *__pyx_v_code); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_3putln = {"putln", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_3putln, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_3putln(PyObject *__pyx_v_self, PyObject *__pyx_v_code) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("putln (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_2putln(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_code));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_2putln(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self, PyObject *__pyx_v_code) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5[3];
    PyObject *__pyx_t_6 = NULL;
    size_t __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("putln", 0);

    /* "Cython/Compiler/Code.py":3601
 * 
 *     def putln(self, code):
 *         self.f.write("%s%s\n" % (" " * self.level, code))             # <<<<<<<<<<<<<<
 * 
 *     def indent(self):
*/
    __pyx_t_2 = __pyx_v_self->f;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_u__21, __pyx_v_self->level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_code), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5[0] = __pyx_t_3;
    __pyx_t_5[1] = __pyx_t_4;
    __pyx_t_5[2] = __pyx_mstate_global->__pyx_kp_u__3;
    __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_write, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3601, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3600
 *         self.level = 0
 * 
 *     def putln(self, code):             # <<<<<<<<<<<<<<
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyrexCodeWriter.putln", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3603
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5indent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_5indent = {"indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5indent, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5indent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("indent (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_4indent(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_4indent(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("indent", 0);

    /* "Cython/Compiler/Code.py":3604
 * 
 *     def indent(self):
 *         self.level += 1             # <<<<<<<<<<<<<<
 * 
 *     def dedent(self):
*/
    __pyx_v_self->level = (__pyx_v_self->level + 1);

    /* "Cython/Compiler/Code.py":3603
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3606
 *         self.level += 1
 * 
 *     def dedent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_7dedent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_7dedent = {"dedent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_7dedent, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_7dedent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("dedent (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_6dedent(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_6dedent(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("dedent", 0);

    /* "Cython/Compiler/Code.py":3607
 * 
 *     def dedent(self):
 *         self.level -= 1             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_v_self->level = (__pyx_v_self->level - 1);

    /* "Cython/Compiler/Code.py":3606
 *         self.level += 1
 * 
 *     def dedent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":139
 * 
 * cdef class PyrexCodeWriter:
 *     cdef readonly object f             # <<<<<<<<<<<<<<
 *     cdef readonly Py_ssize_t level
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_self->f);
    __pyx_r = __pyx_v_self->f;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":140
 * cdef class PyrexCodeWriter:
 *     cdef readonly object f
 *     cdef readonly Py_ssize_t level             # <<<<<<<<<<<<<<
 * 
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_self->level); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyrexCodeWriter.level.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3615
 *     """
 * 
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):             # <<<<<<<<<<<<<<
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level
*/

  /* Python wrapper */
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
    PyObject *__pyx_v_buffer = 0;
    PyObject *__pyx_v_indent_level = 0;
    PyObject *__pyx_v_context = 0;
    PyObject *__pyx_v_encoding = 0;
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[4] = {0,0,0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
    #endif
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_buffer,&__pyx_mstate_global->__pyx_n_u_indent_level,&__pyx_mstate_global->__pyx_n_u_context,&__pyx_mstate_global->__pyx_n_u_encoding,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3615, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 3615, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_ascii));
      } else {
        switch (__pyx_nargs) {
          case  4:
          values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  3:
          values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  2:
          values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3615, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
        if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
        if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_ascii));
      }
      __pyx_v_buffer = values[0];
      __pyx_v_indent_level = values[1];
      __pyx_v_context = values[2];
      __pyx_v_encoding = values[3];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 4, __pyx_nargs); __PYX_ERR(0, 3615, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return -1;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter___init__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), __pyx_v_buffer, __pyx_v_indent_level, __pyx_v_context, __pyx_v_encoding);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter___init__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_buffer, PyObject *__pyx_v_indent_level, PyObject *__pyx_v_context, PyObject *__pyx_v_encoding) {
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    Py_ssize_t __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("__init__", 0);

    /* "Cython/Compiler/Code.py":3616
 * 
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):
 *         self.buffer = buffer or StringIOTree()             # <<<<<<<<<<<<<<
 *         self.level = indent_level
 *         self.original_level = indent_level
*/
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_buffer); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3616, __pyx_L1_error)
    if (!__pyx_t_2) {
    } else {
      if (!(likely(((__pyx_v_buffer) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_buffer, __pyx_mstate_global->__pyx_ptype_6Cython_12StringIOTree_StringIOTree))))) __PYX_ERR(0, 3616, __pyx_L1_error)
      __Pyx_INCREF(__pyx_v_buffer);
      __pyx_t_1 = __pyx_v_buffer;
      goto __pyx_L3_bool_binop_done;
    }
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_12StringIOTree_StringIOTree, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3616, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_L3_bool_binop_done:;
    __Pyx_GIVEREF((PyObject *)__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->buffer);
    __Pyx_DECREF((PyObject *)__pyx_v_self->buffer);
    __pyx_v_self->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3617
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level             # <<<<<<<<<<<<<<
 *         self.original_level = indent_level
 *         self.context = context
*/
    __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_indent_level); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3617, __pyx_L1_error)
    __pyx_v_self->level = __pyx_t_6;

    /* "Cython/Compiler/Code.py":3618
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level
 *         self.original_level = indent_level             # <<<<<<<<<<<<<<
 *         self.context = context
 *         self.encoding = encoding
*/
    __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_indent_level); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3618, __pyx_L1_error)
    __pyx_v_self->original_level = __pyx_t_6;

    /* "Cython/Compiler/Code.py":3619
 *         self.level = indent_level
 *         self.original_level = indent_level
 *         self.context = context             # <<<<<<<<<<<<<<
 *         self.encoding = encoding
 *         self._insertion_points = {}
*/
    __Pyx_INCREF(__pyx_v_context);
    __Pyx_GIVEREF(__pyx_v_context);
    __Pyx_GOTREF(__pyx_v_self->context);
    __Pyx_DECREF(__pyx_v_self->context);
    __pyx_v_self->context = __pyx_v_context;

    /* "Cython/Compiler/Code.py":3620
 *         self.original_level = indent_level
 *         self.context = context
 *         self.encoding = encoding             # <<<<<<<<<<<<<<
 *         self._insertion_points = {}
 * 
*/
    __Pyx_INCREF(__pyx_v_encoding);
    __Pyx_GIVEREF(__pyx_v_encoding);
    __Pyx_GOTREF(__pyx_v_self->encoding);
    __Pyx_DECREF(__pyx_v_self->encoding);
    __pyx_v_self->encoding = __pyx_v_encoding;

    /* "Cython/Compiler/Code.py":3621
 *         self.context = context
 *         self.encoding = encoding
 *         self._insertion_points = {}             # <<<<<<<<<<<<<<
 * 
 *     def indent(self, levels=1):
*/
    __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_v_self->_insertion_points);
    __Pyx_DECREF(__pyx_v_self->_insertion_points);
    __pyx_v_self->_insertion_points = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3615
 *     """
 * 
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):             # <<<<<<<<<<<<<<
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level
*/

    /* function exit code */
    __pyx_r = 0;
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = -1;
    __pyx_L0:;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3623
 *         self._insertion_points = {}
 * 
 *     def indent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level += levels
 *         return True
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent = {"indent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_levels = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("indent (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_levels,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3623, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3623, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "indent", 0) < (0)) __PYX_ERR(0, 3623, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3623, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      }
      __pyx_v_levels = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("indent", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 3623, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.indent", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_2indent(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), __pyx_v_levels);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_2indent(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_levels) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    Py_ssize_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("indent", 0);

    /* "Cython/Compiler/Code.py":3624
 * 
 *     def indent(self, levels=1):
 *         self.level += levels             # <<<<<<<<<<<<<<
 *         return True
 * 
*/
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_self->level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_v_levels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_self->level = __pyx_t_3;

    /* "Cython/Compiler/Code.py":3625
 *     def indent(self, levels=1):
 *         self.level += levels
 *         return True             # <<<<<<<<<<<<<<
 * 
 *     def dedent(self, levels=1):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3623
 *         self._insertion_points = {}
 * 
 *     def indent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level += levels
 *         return True
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.indent", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3627
 *         return True
 * 
 *     def dedent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level -= levels
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent = {"dedent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_levels = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[1] = {0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("dedent (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_levels,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3627, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3627, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "dedent", 0) < (0)) __PYX_ERR(0, 3627, __pyx_L3_error)
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      } else {
        switch (__pyx_nargs) {
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3627, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      }
      __pyx_v_levels = values[0];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("dedent", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 3627, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.dedent", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_4dedent(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), __pyx_v_levels);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_4dedent(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_levels) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    Py_ssize_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("dedent", 0);

    /* "Cython/Compiler/Code.py":3628
 * 
 *     def dedent(self, levels=1):
 *         self.level -= levels             # <<<<<<<<<<<<<<
 * 
 *     @contextmanager
*/
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_self->level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_InPlaceSubtract(__pyx_t_1, __pyx_v_levels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3628, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_self->level = __pyx_t_3;

    /* "Cython/Compiler/Code.py":3627
 *         return True
 * 
 *     def dedent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level -= levels
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.dedent", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }
  static PyObject *__pyx_gb_6Cython_8Compiler_4Code_13PyxCodeWriter_8generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

  /* "Cython/Compiler/Code.py":3630
 *         self.level -= levels
 * 
 *     @contextmanager             # <<<<<<<<<<<<<<
 *     def indenter(self, line):
 *         """
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter(PyObject *__pyx_v_self, PyObject *__pyx_v_line); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter, "\n        with pyx_code.indenter(\"for i in range(10):\"):\n            pyx_code.putln(\"print i\")\n        ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter = {"indenter", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter, METH_O, __pyx_doc_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter(PyObject *__pyx_v_self, PyObject *__pyx_v_line) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("indenter (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_line));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_line) {
    struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *__pyx_cur_scope;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("indenter", 0);
    __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter, __pyx_mstate_global->__pyx_empty_tuple, NULL);
    if (unlikely(!__pyx_cur_scope)) {
      __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *)Py_None);
      __Pyx_INCREF(Py_None);
      __PYX_ERR(0, 3630, __pyx_L1_error)
    } else {
      __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
    }
    __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
    __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __pyx_cur_scope->__pyx_v_line = __pyx_v_line;
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_line);
    __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_line);
    {
      __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6Cython_8Compiler_4Code_13PyxCodeWriter_8generator1, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[14]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_indenter, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_indenter, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code); if (unlikely(!gen)) __PYX_ERR(0, 3630, __pyx_L1_error)
      __Pyx_DECREF(__pyx_cur_scope);
      __Pyx_RefNannyFinishContext();
      return (PyObject *) gen;
    }

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.indenter", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __Pyx_DECREF((PyObject *)__pyx_cur_scope);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_gb_6Cython_8Compiler_4Code_13PyxCodeWriter_8generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
    struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *__pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *)__pyx_generator->closure);
    PyObject *__pyx_r = NULL;
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("indenter", 0);
    switch (__pyx_generator->resume_label) {
      case 0: goto __pyx_L3_first_run;
      case 1: goto __pyx_L4_resume_from_yield;
      default: /* CPython raises the right error here */
      __Pyx_RefNannyFinishContext();
      return NULL;
    }
    __pyx_L3_first_run:;
    if (unlikely(__pyx_sent_value != Py_None)) {
      if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
      __PYX_ERR(0, 3630, __pyx_L1_error)
    }

    /* "Cython/Compiler/Code.py":3636
 *             pyx_code.putln("print i")
 *         """
 *         self.putln(line)             # <<<<<<<<<<<<<<
 *         self.indent()
 *         yield
*/
    __pyx_t_2 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_line};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_putln, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3636, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3637
 *         """
 *         self.putln(line)
 *         self.indent()             # <<<<<<<<<<<<<<
 *         yield
 *         self.dedent()
*/
    __pyx_t_2 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_indent, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3638
 *         self.putln(line)
 *         self.indent()
 *         yield             # <<<<<<<<<<<<<<
 *         self.dedent()
 * 
*/
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L4_resume_from_yield:;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 3638, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":3639
 *         self.indent()
 *         yield
 *         self.dedent()             # <<<<<<<<<<<<<<
 * 
 *     def empty(self):
*/
    __pyx_t_2 = ((PyObject *)__pyx_cur_scope->__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_dedent, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

    /* "Cython/Compiler/Code.py":3630
 *         self.level -= levels
 * 
 *     @contextmanager             # <<<<<<<<<<<<<<
 *     def indenter(self, line):
 *         """
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    if (__Pyx_PyErr_Occurred()) {
      __Pyx_Generator_Replace_StopIteration(0);
      __Pyx_AddTraceback("indenter", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    #if !CYTHON_USE_EXC_INFO_STACK
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    #endif
    __pyx_generator->resume_label = -1;
    __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3641
 *         self.dedent()
 * 
 *     def empty(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.empty()
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_10empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_10empty = {"empty", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_10empty, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_10empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("empty (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_9empty(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_9empty(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("empty", 0);

    /* "Cython/Compiler/Code.py":3642
 * 
 *     def empty(self):
 *         return self.buffer.empty()             # <<<<<<<<<<<<<<
 * 
 *     def getvalue(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree *)__pyx_v_self->buffer->__pyx_vtab)->empty(__pyx_v_self->buffer, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3642, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3641
 *         self.dedent()
 * 
 *     def empty(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.empty()
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.empty", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3644
 *         return self.buffer.empty()
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_12getvalue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_12getvalue = {"getvalue", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_12getvalue, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_12getvalue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("getvalue (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_11getvalue(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_11getvalue(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    PyObject *__pyx_v_result = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    size_t __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("getvalue", 0);

    /* "Cython/Compiler/Code.py":3645
 * 
 *     def getvalue(self):
 *         result = self.buffer.getvalue()             # <<<<<<<<<<<<<<
 *         if isinstance(result, bytes):
 *             result = result.decode(self.encoding)
*/
    __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree *)__pyx_v_self->buffer->__pyx_vtab)->getvalue(__pyx_v_self->buffer, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_result = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3646
 *     def getvalue(self):
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):             # <<<<<<<<<<<<<<
 *             result = result.decode(self.encoding)
 *         return result
*/
    __pyx_t_2 = PyBytes_Check(__pyx_v_result); 
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3647
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
 *             result = result.decode(self.encoding)             # <<<<<<<<<<<<<<
 *         return result
 * 
*/
      __pyx_t_3 = __pyx_v_result;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_self->encoding};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_decode, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3647, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3646
 *     def getvalue(self):
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):             # <<<<<<<<<<<<<<
 *             result = result.decode(self.encoding)
 *         return result
*/
    }

    /* "Cython/Compiler/Code.py":3648
 *         if isinstance(result, bytes):
 *             result = result.decode(self.encoding)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def putln(self, line, context=None):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_result);
    __pyx_r = __pyx_v_result;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3644
 *         return self.buffer.empty()
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.getvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_result);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3650
 *         return result
 * 
 *     def putln(self, line, context=None):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             if self.context is not None:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_14putln(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_14putln = {"putln", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_14putln, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_14putln(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_line = 0;
    PyObject *__pyx_v_context = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("putln (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_line_2,&__pyx_mstate_global->__pyx_n_u_context,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3650, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3650, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3650, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "putln", 0) < (0)) __PYX_ERR(0, 3650, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("putln", 0, 1, 2, i); __PYX_ERR(0, 3650, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3650, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3650, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_line = values[0];
      __pyx_v_context = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("putln", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3650, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.putln", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_13putln(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), __pyx_v_line, __pyx_v_context);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_13putln(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_line, PyObject *__pyx_v_context) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    PyObject *__pyx_t_7 = NULL;
    PyObject *__pyx_t_8 = NULL;
    PyObject *__pyx_t_9[3];
    PyObject *__pyx_t_10 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("putln", 0);
    __Pyx_INCREF(__pyx_v_line);
    __Pyx_INCREF(__pyx_v_context);

    /* "Cython/Compiler/Code.py":3651
 * 
 *     def putln(self, line, context=None):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             if self.context is not None:
 *                 context = self.context
*/
    __pyx_t_1 = (__pyx_v_context == Py_None);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3652
 *     def putln(self, line, context=None):
 *         if context is None:
 *             if self.context is not None:             # <<<<<<<<<<<<<<
 *                 context = self.context
 *         if context is not None:
*/
      __pyx_t_1 = (__pyx_v_self->context != Py_None);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":3653
 *         if context is None:
 *             if self.context is not None:
 *                 context = self.context             # <<<<<<<<<<<<<<
 *         if context is not None:
 *             line = sub_tempita(line, context)
*/
        __pyx_t_2 = __pyx_v_self->context;
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_DECREF_SET(__pyx_v_context, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":3652
 *     def putln(self, line, context=None):
 *         if context is None:
 *             if self.context is not None:             # <<<<<<<<<<<<<<
 *                 context = self.context
 *         if context is not None:
*/
      }

      /* "Cython/Compiler/Code.py":3651
 * 
 *     def putln(self, line, context=None):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             if self.context is not None:
 *                 context = self.context
*/
    }

    /* "Cython/Compiler/Code.py":3654
 *             if self.context is not None:
 *                 context = self.context
 *         if context is not None:             # <<<<<<<<<<<<<<
 *             line = sub_tempita(line, context)
 *         # Avoid indenting empty lines.
*/
    __pyx_t_1 = (__pyx_v_context != Py_None);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3655
 *                 context = self.context
 *         if context is not None:
 *             line = sub_tempita(line, context)             # <<<<<<<<<<<<<<
 *         # Avoid indenting empty lines.
 *         self.buffer.write(f"{self.level * '    '}{line}\n" if line else "\n")
*/
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sub_tempita); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3655, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_5 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_line, __pyx_v_context};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3655, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF_SET(__pyx_v_line, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3654
 *             if self.context is not None:
 *                 context = self.context
 *         if context is not None:             # <<<<<<<<<<<<<<
 *             line = sub_tempita(line, context)
 *         # Avoid indenting empty lines.
*/
    }

    /* "Cython/Compiler/Code.py":3657
 *             line = sub_tempita(line, context)
 *         # Avoid indenting empty lines.
 *         self.buffer.write(f"{self.level * '    '}{line}\n" if line else "\n")             # <<<<<<<<<<<<<<
 * 
 *     def put_chunk(self, chunk, context=None):
*/
    __pyx_t_4 = NULL;
    __Pyx_INCREF(__pyx_v_self->buffer->write);
    __pyx_t_3 = __pyx_v_self->buffer->write; 
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_line); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3657, __pyx_L1_error)
    if (__pyx_t_1) {
      __pyx_t_7 = __Pyx_PySequence_Multiply_Left(__pyx_v_self->level, __pyx_mstate_global->__pyx_kp_u__79); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3657, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_line, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3657, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9[0] = __pyx_t_7;
      __pyx_t_9[1] = __pyx_t_8;
      __pyx_t_9[2] = __pyx_mstate_global->__pyx_kp_u__3;
      __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8));
      if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3657, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_6 = __pyx_t_10;
      __pyx_t_10 = 0;
    } else {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
      __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u__3;
    }
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3657, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3650
 *         return result
 * 
 *     def putln(self, line, context=None):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             if self.context is not None:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_10);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.putln", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_line);
    __Pyx_XDECREF(__pyx_v_context);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3659
 *         self.buffer.write(f"{self.level * '    '}{line}\n" if line else "\n")
 * 
 *     def put_chunk(self, chunk, context=None):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             if self.context is not None:
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_16put_chunk(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_16put_chunk = {"put_chunk", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_16put_chunk, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_16put_chunk(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_chunk = 0;
    PyObject *__pyx_v_context = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("put_chunk (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_chunk,&__pyx_mstate_global->__pyx_n_u_context,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3659, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3659, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3659, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "put_chunk", 0) < (0)) __PYX_ERR(0, 3659, __pyx_L3_error)
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
        for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("put_chunk", 0, 1, 2, i); __PYX_ERR(0, 3659, __pyx_L3_error) }
        }
      } else {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3659, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3659, __pyx_L3_error)
          break;
          default: goto __pyx_L5_argtuple_error;
        }
        if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      }
      __pyx_v_chunk = values[0];
      __pyx_v_context = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("put_chunk", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3659, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.put_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), __pyx_v_chunk, __pyx_v_context);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_chunk, PyObject *__pyx_v_context) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("put_chunk", 0);
    __Pyx_INCREF(__pyx_v_chunk);
    __Pyx_INCREF(__pyx_v_context);

    /* "Cython/Compiler/Code.py":3660
 * 
 *     def put_chunk(self, chunk, context=None):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             if self.context is not None:
 *                 context = self.context
*/
    __pyx_t_1 = (__pyx_v_context == Py_None);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3661
 *     def put_chunk(self, chunk, context=None):
 *         if context is None:
 *             if self.context is not None:             # <<<<<<<<<<<<<<
 *                 context = self.context
 *         if context is not None:
*/
      __pyx_t_1 = (__pyx_v_self->context != Py_None);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":3662
 *         if context is None:
 *             if self.context is not None:
 *                 context = self.context             # <<<<<<<<<<<<<<
 *         if context is not None:
 *             chunk = sub_tempita(chunk, context)
*/
        __pyx_t_2 = __pyx_v_self->context;
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_DECREF_SET(__pyx_v_context, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":3661
 *     def put_chunk(self, chunk, context=None):
 *         if context is None:
 *             if self.context is not None:             # <<<<<<<<<<<<<<
 *                 context = self.context
 *         if context is not None:
*/
      }

      /* "Cython/Compiler/Code.py":3660
 * 
 *     def put_chunk(self, chunk, context=None):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             if self.context is not None:
 *                 context = self.context
*/
    }

    /* "Cython/Compiler/Code.py":3663
 *             if self.context is not None:
 *                 context = self.context
 *         if context is not None:             # <<<<<<<<<<<<<<
 *             chunk = sub_tempita(chunk, context)
 * 
*/
    __pyx_t_1 = (__pyx_v_context != Py_None);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3664
 *                 context = self.context
 *         if context is not None:
 *             chunk = sub_tempita(chunk, context)             # <<<<<<<<<<<<<<
 * 
 *         chunk = _indent_chunk(chunk, self.level * 4)
*/
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sub_tempita); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3664, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_5 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_chunk, __pyx_v_context};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3664, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF_SET(__pyx_v_chunk, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3663
 *             if self.context is not None:
 *                 context = self.context
 *         if context is not None:             # <<<<<<<<<<<<<<
 *             chunk = sub_tempita(chunk, context)
 * 
*/
    }

    /* "Cython/Compiler/Code.py":3666
 *             chunk = sub_tempita(chunk, context)
 * 
 *         chunk = _indent_chunk(chunk, self.level * 4)             # <<<<<<<<<<<<<<
 *         self.buffer.write(chunk)
 * 
*/
    __pyx_t_2 = __pyx_v_chunk;
    __Pyx_INCREF(__pyx_t_2);
    if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(0, 3666, __pyx_L1_error)
    if (unlikely(__pyx_t_2 == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(0, 3666, __pyx_L1_error)
    }
    __pyx_t_4 = __pyx_f_6Cython_8Compiler_4Code__indent_chunk(((PyObject*)__pyx_t_2), (__pyx_v_self->level * 4), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_chunk, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":3667
 * 
 *         chunk = _indent_chunk(chunk, self.level * 4)
 *         self.buffer.write(chunk)             # <<<<<<<<<<<<<<
 * 
 *     def insertion_point(self):
*/
    __pyx_t_2 = NULL;
    __Pyx_INCREF(__pyx_v_self->buffer->write);
    __pyx_t_3 = __pyx_v_self->buffer->write; 
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_chunk};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3667, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":3659
 *         self.buffer.write(f"{self.level * '    '}{line}\n" if line else "\n")
 * 
 *     def put_chunk(self, chunk, context=None):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             if self.context is not None:
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.put_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_chunk);
    __Pyx_XDECREF(__pyx_v_context);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3669
 *         self.buffer.write(chunk)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         return type(self)(self.buffer.insertion_point(), self.level, self.context)
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_18insertion_point(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_18insertion_point = {"insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_18insertion_point, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_18insertion_point(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("insertion_point (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    PyObject *__pyx_t_5 = NULL;
    size_t __pyx_t_6;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("insertion_point", 0);

    /* "Cython/Compiler/Code.py":3670
 * 
 *     def insertion_point(self):
 *         return type(self)(self.buffer.insertion_point(), self.level, self.context)             # <<<<<<<<<<<<<<
 * 
 *     def reset(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = NULL;
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __pyx_t_3 = ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))); 
    __pyx_t_5 = ((PyObject *)__pyx_v_self->buffer);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_insertion_point, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3670, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_v_self->level); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_v_self->context};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3670, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3669
 *         self.buffer.write(chunk)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         return type(self)(self.buffer.insertion_point(), self.level, self.context)
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.insertion_point", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3672
 *         return type(self)(self.buffer.insertion_point(), self.level, self.context)
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         # resets the buffer so that nothing gets written. Most useful
 *         # for abandoning all work in a specific insertion point
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_20reset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_20reset = {"reset", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_20reset, METH_NOARGS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_20reset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("reset (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_19reset(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_19reset(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    Py_ssize_t __pyx_t_4;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("reset", 0);

    /* "Cython/Compiler/Code.py":3675
 *         # resets the buffer so that nothing gets written. Most useful
 *         # for abandoning all work in a specific insertion point
 *         self.buffer.reset()             # <<<<<<<<<<<<<<
 *         self.level = self.original_level
 * 
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self->buffer);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_reset, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3675, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3676
 *         # for abandoning all work in a specific insertion point
 *         self.buffer.reset()
 *         self.level = self.original_level             # <<<<<<<<<<<<<<
 * 
 *     def named_insertion_point(self, name):
*/
    __pyx_t_4 = __pyx_v_self->original_level;
    __pyx_v_self->level = __pyx_t_4;

    /* "Cython/Compiler/Code.py":3672
 *         return type(self)(self.buffer.insertion_point(), self.level, self.context)
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         # resets the buffer so that nothing gets written. Most useful
 *         # for abandoning all work in a specific insertion point
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.reset", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3678
 *         self.level = self.original_level
 * 
 *     def named_insertion_point(self, name):             # <<<<<<<<<<<<<<
 *         self._insertion_points[name] = self.insertion_point()
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_22named_insertion_point(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_22named_insertion_point = {"named_insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_22named_insertion_point, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_22named_insertion_point(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("named_insertion_point (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_21named_insertion_point(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_name));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_21named_insertion_point(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_name) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    PyObject *__pyx_t_2 = NULL;
    size_t __pyx_t_3;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("named_insertion_point", 0);

    /* "Cython/Compiler/Code.py":3679
 * 
 *     def named_insertion_point(self, name):
 *         self._insertion_points[name] = self.insertion_point()             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, name):
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_insertion_point, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3679, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely(__pyx_v_self->_insertion_points == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 3679, __pyx_L1_error)
    }
    if (unlikely((PyDict_SetItem(__pyx_v_self->_insertion_points, __pyx_v_name, __pyx_t_1) < 0))) __PYX_ERR(0, 3679, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3678
 *         self.level = self.original_level
 * 
 *     def named_insertion_point(self, name):             # <<<<<<<<<<<<<<
 *         self._insertion_points[name] = self.insertion_point()
 * 
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.named_insertion_point", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3681
 *         self._insertion_points[name] = self.insertion_point()
 * 
 *     def __getitem__(self, name):             # <<<<<<<<<<<<<<
 *         return self._insertion_points[name]
 * 
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_24__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_24__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_23__getitem__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_name));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_23__getitem__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_name) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("__getitem__", 0);

    /* "Cython/Compiler/Code.py":3682
 * 
 *     def __getitem__(self, name):
 *         return self._insertion_points[name]             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_self->_insertion_points == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 3682, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_self->_insertion_points, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3681
 *         self._insertion_points[name] = self.insertion_point()
 * 
 *     def __getitem__(self, name):             # <<<<<<<<<<<<<<
 *         return self._insertion_points[name]
 * 
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":144
 * 
 * cdef class PyxCodeWriter:
 *     cdef public StringIOTree buffer             # <<<<<<<<<<<<<<
 *     cdef public object context
 *     cdef object encoding
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self->buffer);
    __pyx_r = ((PyObject *)__pyx_v_self->buffer);
    goto __pyx_L0;

    /* function exit code */
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_value));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_value) {
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("__set__", 0);
    __pyx_t_1 = __pyx_v_value;
    __Pyx_INCREF(__pyx_t_1);
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_6Cython_12StringIOTree_StringIOTree))))) __PYX_ERR(1, 144, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->buffer);
    __Pyx_DECREF((PyObject *)__pyx_v_self->buffer);
    __pyx_v_self->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* function exit code */
    __pyx_r = 0;
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.buffer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = -1;
    __pyx_L0:;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_5__del__(PyObject *__pyx_v_self); /*proto*/
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_5__del__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__del__", 0);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->buffer);
    __Pyx_DECREF((PyObject *)__pyx_v_self->buffer);
    __pyx_v_self->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)Py_None);

    /* function exit code */
    __pyx_r = 0;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.pxd":145
 * cdef class PyxCodeWriter:
 *     cdef public StringIOTree buffer
 *     cdef public object context             # <<<<<<<<<<<<<<
 *     cdef object encoding
 *     cdef Py_ssize_t level
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_1__get__(PyObject *__pyx_v_self); /*proto*/
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_1__get__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context___get__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context___get__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__get__", 0);
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_self->context);
    __pyx_r = __pyx_v_self->context;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_value));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self, PyObject *__pyx_v_value) {
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__set__", 0);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    __Pyx_GOTREF(__pyx_v_self->context);
    __Pyx_DECREF(__pyx_v_self->context);
    __pyx_v_self->context = __pyx_v_value;

    /* function exit code */
    __pyx_r = 0;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_5__del__(PyObject *__pyx_v_self); /*proto*/
  static int __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_5__del__(PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static int __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *__pyx_v_self) {
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__del__", 0);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->context);
    __Pyx_DECREF(__pyx_v_self->context);
    __pyx_v_self->context = Py_None;

    /* function exit code */
    __pyx_r = 0;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3685
 * 
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * @cython.ccall
 * def _indent_chunk(chunk: str, indentation_length: cython.int) -> str:
*/

  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_25_indent_chunk(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyObject *__pyx_f_6Cython_8Compiler_4Code__indent_chunk(PyObject *__pyx_v_chunk, int __pyx_v_indentation_length, CYTHON_UNUSED int __pyx_skip_dispatch) {
    PyObject *__pyx_v_lines = NULL;
    PyObject *__pyx_v_last_line = NULL;
    int __pyx_v_min_indentation;
    int __pyx_v_line_indentation;
    PyObject *__pyx_v_line = 0;
    int __pyx_v_i;
    PyObject *__pyx_v_add_indent = NULL;
    int __pyx_v_start;
    PyObject *__pyx_9genexpr18__pyx_v_line = NULL;
    PyObject *__pyx_9genexpr19__pyx_v_line = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    PyObject *__pyx_t_3 = NULL;
    size_t __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    int __pyx_t_6;
    Py_ssize_t __pyx_t_7;
    int __pyx_t_8;
    int __pyx_t_9;
    Py_ssize_t __pyx_t_10;
    PyObject *__pyx_t_11 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("_indent_chunk", 0);

    /* "Cython/Compiler/Code.py":3690
 *     """Normalise leading space to the intended indentation and strip empty lines.
 *     """
 *     assert '\t' not in chunk             # <<<<<<<<<<<<<<
 *     lines = chunk.splitlines(keepends=True)
 *     if not lines:
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = (__Pyx_PyUnicode_ContainsTF(__pyx_mstate_global->__pyx_kp_u__80, __pyx_v_chunk, Py_NE)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3690, __pyx_L1_error)
      if (unlikely(!__pyx_t_1)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(0, 3690, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(0, 3690, __pyx_L1_error)
    #endif

    /* "Cython/Compiler/Code.py":3691
 *     """
 *     assert '\t' not in chunk
 *     lines = chunk.splitlines(keepends=True)             # <<<<<<<<<<<<<<
 *     if not lines:
 *         return chunk
*/
    __pyx_t_3 = __pyx_v_chunk;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3691, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_keepends, Py_True, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 3691, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_splitlines, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3691, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_lines = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3692
 *     assert '\t' not in chunk
 *     lines = chunk.splitlines(keepends=True)
 *     if not lines:             # <<<<<<<<<<<<<<
 *         return chunk
 *     last_line = lines[-1].rstrip(' ')
*/
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_lines);
      if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 3692, __pyx_L1_error)
      __pyx_t_1 = (__pyx_temp != 0);
    }

    __pyx_t_6 = (!__pyx_t_1);
    if (__pyx_t_6) {

      /* "Cython/Compiler/Code.py":3693
 *     lines = chunk.splitlines(keepends=True)
 *     if not lines:
 *         return chunk             # <<<<<<<<<<<<<<
 *     last_line = lines[-1].rstrip(' ')
 *     if last_line:
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_chunk);
      __pyx_r = __pyx_v_chunk;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":3692
 *     assert '\t' not in chunk
 *     lines = chunk.splitlines(keepends=True)
 *     if not lines:             # <<<<<<<<<<<<<<
 *         return chunk
 *     last_line = lines[-1].rstrip(' ')
*/
    }

    /* "Cython/Compiler/Code.py":3694
 *     if not lines:
 *         return chunk
 *     last_line = lines[-1].rstrip(' ')             # <<<<<<<<<<<<<<
 *     if last_line:
 *         lines[-1] = last_line
*/
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, -1L, long, 1, __Pyx_PyLong_From_long, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __pyx_t_3;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u__21};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_rstrip, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3694, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_last_line = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3695
 *         return chunk
 *     last_line = lines[-1].rstrip(' ')
 *     if last_line:             # <<<<<<<<<<<<<<
 *         lines[-1] = last_line
 *     else:
*/
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_last_line); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 3695, __pyx_L1_error)
    if (__pyx_t_6) {

      /* "Cython/Compiler/Code.py":3696
 *     last_line = lines[-1].rstrip(' ')
 *     if last_line:
 *         lines[-1] = last_line             # <<<<<<<<<<<<<<
 *     else:
 *         del lines[-1]
*/
      if (unlikely((__Pyx_SetItemInt(__pyx_v_lines, -1L, __pyx_v_last_line, long, 1, __Pyx_PyLong_From_long, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 3696, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":3695
 *         return chunk
 *     last_line = lines[-1].rstrip(' ')
 *     if last_line:             # <<<<<<<<<<<<<<
 *         lines[-1] = last_line
 *     else:
*/
      goto __pyx_L4;
    }

    /* "Cython/Compiler/Code.py":3698
 *         lines[-1] = last_line
 *     else:
 *         del lines[-1]             # <<<<<<<<<<<<<<
 *         if not lines:
 *             return '\n'
*/
    /*else*/ {
      if (unlikely((__Pyx_DelItemInt(__pyx_v_lines, -1L, long, 1, __Pyx_PyLong_From_long, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 3698, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":3699
 *     else:
 *         del lines[-1]
 *         if not lines:             # <<<<<<<<<<<<<<
 *             return '\n'
 * 
*/
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_v_lines);
        if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 3699, __pyx_L1_error)
        __pyx_t_6 = (__pyx_temp != 0);
      }

      __pyx_t_1 = (!__pyx_t_6);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":3700
 *         del lines[-1]
 *         if not lines:
 *             return '\n'             # <<<<<<<<<<<<<<
 * 
 *     # Count minimal (non-empty) indentation and strip empty lines.
*/
        __Pyx_XDECREF(__pyx_r);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
        __pyx_r = __pyx_mstate_global->__pyx_kp_u__3;
        goto __pyx_L0;

        /* "Cython/Compiler/Code.py":3699
 *     else:
 *         del lines[-1]
 *         if not lines:             # <<<<<<<<<<<<<<
 *             return '\n'
 * 
*/
      }
    }
    __pyx_L4:;

    /* "Cython/Compiler/Code.py":3703
 * 
 *     # Count minimal (non-empty) indentation and strip empty lines.
 *     min_indentation: cython.int = len(chunk) + 1             # <<<<<<<<<<<<<<
 *     line_indentation: cython.int
 *     line: str
*/
    __pyx_t_7 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_chunk); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3703, __pyx_L1_error)
    __pyx_v_min_indentation = (__pyx_t_7 + 1);

    /* "Cython/Compiler/Code.py":3707
 *     line: str
 *     i: cython.int
 *     for i, line in enumerate(lines):             # <<<<<<<<<<<<<<
 *         line_indentation = _count_indentation(line)
 *         if line_indentation + 1 == len(line):
*/
    __pyx_t_8 = 0;
    __pyx_t_2 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_7 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3707, __pyx_L1_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_7;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3707, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(0, 3707, __pyx_L1_error)
      __Pyx_XDECREF_SET(__pyx_v_line, ((PyObject*)__pyx_t_3));
      __pyx_t_3 = 0;
      __pyx_v_i = __pyx_t_8;
      __pyx_t_8 = (__pyx_t_8 + 1);

      /* "Cython/Compiler/Code.py":3708
 *     i: cython.int
 *     for i, line in enumerate(lines):
 *         line_indentation = _count_indentation(line)             # <<<<<<<<<<<<<<
 *         if line_indentation + 1 == len(line):
 *             lines[i] = '\n'
*/
      if (unlikely(__pyx_v_line == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
        __PYX_ERR(0, 3708, __pyx_L1_error)
      }
      __pyx_t_9 = __pyx_f_6Cython_8Compiler_4Code__count_indentation(__pyx_v_line); if (unlikely(__pyx_t_9 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3708, __pyx_L1_error)
      __pyx_v_line_indentation = __pyx_t_9;

      /* "Cython/Compiler/Code.py":3709
 *     for i, line in enumerate(lines):
 *         line_indentation = _count_indentation(line)
 *         if line_indentation + 1 == len(line):             # <<<<<<<<<<<<<<
 *             lines[i] = '\n'
 *         elif line_indentation < min_indentation:
*/
      if (unlikely(__pyx_v_line == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(0, 3709, __pyx_L1_error)
      }
      __pyx_t_10 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_line); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3709, __pyx_L1_error)
      __pyx_t_1 = ((__pyx_v_line_indentation + 1) == __pyx_t_10);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":3710
 *         line_indentation = _count_indentation(line)
 *         if line_indentation + 1 == len(line):
 *             lines[i] = '\n'             # <<<<<<<<<<<<<<
 *         elif line_indentation < min_indentation:
 *             min_indentation = line_indentation
*/
        if (unlikely((__Pyx_SetItemInt(__pyx_v_lines, __pyx_v_i, __pyx_mstate_global->__pyx_kp_u__3, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(0, 3710, __pyx_L1_error)

        /* "Cython/Compiler/Code.py":3709
 *     for i, line in enumerate(lines):
 *         line_indentation = _count_indentation(line)
 *         if line_indentation + 1 == len(line):             # <<<<<<<<<<<<<<
 *             lines[i] = '\n'
 *         elif line_indentation < min_indentation:
*/
        goto __pyx_L8;
      }

      /* "Cython/Compiler/Code.py":3711
 *         if line_indentation + 1 == len(line):
 *             lines[i] = '\n'
 *         elif line_indentation < min_indentation:             # <<<<<<<<<<<<<<
 *             min_indentation = line_indentation
 * 
*/
      __pyx_t_1 = (__pyx_v_line_indentation < __pyx_v_min_indentation);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":3712
 *             lines[i] = '\n'
 *         elif line_indentation < min_indentation:
 *             min_indentation = line_indentation             # <<<<<<<<<<<<<<
 * 
 *     if min_indentation > len(chunk):
*/
        __pyx_v_min_indentation = __pyx_v_line_indentation;

        /* "Cython/Compiler/Code.py":3711
 *         if line_indentation + 1 == len(line):
 *             lines[i] = '\n'
 *         elif line_indentation < min_indentation:             # <<<<<<<<<<<<<<
 *             min_indentation = line_indentation
 * 
*/
      }
      __pyx_L8:;

      /* "Cython/Compiler/Code.py":3707
 *     line: str
 *     i: cython.int
 *     for i, line in enumerate(lines):             # <<<<<<<<<<<<<<
 *         line_indentation = _count_indentation(line)
 *         if line_indentation + 1 == len(line):
*/
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3714
 *             min_indentation = line_indentation
 * 
 *     if min_indentation > len(chunk):             # <<<<<<<<<<<<<<
 *         # All empty lines.
 *         min_indentation = 0
*/
    __pyx_t_7 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_chunk); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3714, __pyx_L1_error)
    __pyx_t_1 = (__pyx_v_min_indentation > __pyx_t_7);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3716
 *     if min_indentation > len(chunk):
 *         # All empty lines.
 *         min_indentation = 0             # <<<<<<<<<<<<<<
 * 
 *     if min_indentation < indentation_length:
*/
      __pyx_v_min_indentation = 0;

      /* "Cython/Compiler/Code.py":3714
 *             min_indentation = line_indentation
 * 
 *     if min_indentation > len(chunk):             # <<<<<<<<<<<<<<
 *         # All empty lines.
 *         min_indentation = 0
*/
    }

    /* "Cython/Compiler/Code.py":3718
 *         min_indentation = 0
 * 
 *     if min_indentation < indentation_length:             # <<<<<<<<<<<<<<
 *         add_indent = ' ' * (indentation_length - min_indentation)
 *         lines = [
*/
    __pyx_t_1 = (__pyx_v_min_indentation < __pyx_v_indentation_length);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3719
 * 
 *     if min_indentation < indentation_length:
 *         add_indent = ' ' * (indentation_length - min_indentation)             # <<<<<<<<<<<<<<
 *         lines = [
 *             add_indent + line if line != '\n' else '\n'
*/
      __pyx_t_2 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_u__21, (__pyx_v_indentation_length - __pyx_v_min_indentation)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3719, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_v_add_indent = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3720
 *     if min_indentation < indentation_length:
 *         add_indent = ' ' * (indentation_length - min_indentation)
 *         lines = [             # <<<<<<<<<<<<<<
 *             add_indent + line if line != '\n' else '\n'
 *             for line in lines
*/
      { /* enter inner scope */
        __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3720, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_2);

        /* "Cython/Compiler/Code.py":3722
 *         lines = [
 *             add_indent + line if line != '\n' else '\n'
 *             for line in lines             # <<<<<<<<<<<<<<
 *         ]
 *     elif min_indentation > indentation_length:
*/
        __pyx_t_3 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_3);
        __pyx_t_7 = 0;
        for (;;) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3722, __pyx_L14_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_7;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3722, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_5);
          if (!(likely(PyUnicode_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_5))) __PYX_ERR(0, 3722, __pyx_L14_error)
          __Pyx_XDECREF_SET(__pyx_9genexpr18__pyx_v_line, ((PyObject*)__pyx_t_5));
          __pyx_t_5 = 0;

          /* "Cython/Compiler/Code.py":3721
 *         add_indent = ' ' * (indentation_length - min_indentation)
 *         lines = [
 *             add_indent + line if line != '\n' else '\n'             # <<<<<<<<<<<<<<
 *             for line in lines
 *         ]
*/
          __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_9genexpr18__pyx_v_line, __pyx_mstate_global->__pyx_kp_u__3, Py_NE)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3721, __pyx_L14_error)
          if (__pyx_t_1) {
            __pyx_t_11 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_add_indent, __pyx_9genexpr18__pyx_v_line); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3721, __pyx_L14_error)
            __Pyx_GOTREF(__pyx_t_11);
            __pyx_t_5 = __pyx_t_11;
            __pyx_t_11 = 0;
          } else {
            __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
            __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u__3;
          }
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 3720, __pyx_L14_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

          /* "Cython/Compiler/Code.py":3722
 *         lines = [
 *             add_indent + line if line != '\n' else '\n'
 *             for line in lines             # <<<<<<<<<<<<<<
 *         ]
 *     elif min_indentation > indentation_length:
*/
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
        goto __pyx_L18_exit_scope;
        __pyx_L14_error:;
        __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
        goto __pyx_L1_error;
        __pyx_L18_exit_scope:;
      } /* exit inner scope */
      __Pyx_DECREF_SET(__pyx_v_lines, ((PyObject*)__pyx_t_2));
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3718
 *         min_indentation = 0
 * 
 *     if min_indentation < indentation_length:             # <<<<<<<<<<<<<<
 *         add_indent = ' ' * (indentation_length - min_indentation)
 *         lines = [
*/
      goto __pyx_L11;
    }

    /* "Cython/Compiler/Code.py":3724
 *             for line in lines
 *         ]
 *     elif min_indentation > indentation_length:             # <<<<<<<<<<<<<<
 *         start: cython.int = min_indentation - indentation_length
 *         lines = [
*/
    __pyx_t_1 = (__pyx_v_min_indentation > __pyx_v_indentation_length);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":3725
 *         ]
 *     elif min_indentation > indentation_length:
 *         start: cython.int = min_indentation - indentation_length             # <<<<<<<<<<<<<<
 *         lines = [
 *             line[start:] if line != '\n' else '\n'
*/
      __pyx_v_start = (__pyx_v_min_indentation - __pyx_v_indentation_length);

      /* "Cython/Compiler/Code.py":3726
 *     elif min_indentation > indentation_length:
 *         start: cython.int = min_indentation - indentation_length
 *         lines = [             # <<<<<<<<<<<<<<
 *             line[start:] if line != '\n' else '\n'
 *             for line in lines
*/
      { /* enter inner scope */
        __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3726, __pyx_L21_error)
        __Pyx_GOTREF(__pyx_t_2);

        /* "Cython/Compiler/Code.py":3728
 *         lines = [
 *             line[start:] if line != '\n' else '\n'
 *             for line in lines             # <<<<<<<<<<<<<<
 *         ]
 * 
*/
        __pyx_t_3 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_3);
        __pyx_t_7 = 0;
        for (;;) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 3728, __pyx_L21_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_7;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3728, __pyx_L21_error)
          __Pyx_GOTREF(__pyx_t_5);
          if (!(likely(PyUnicode_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_5))) __PYX_ERR(0, 3728, __pyx_L21_error)
          __Pyx_XDECREF_SET(__pyx_9genexpr19__pyx_v_line, ((PyObject*)__pyx_t_5));
          __pyx_t_5 = 0;

          /* "Cython/Compiler/Code.py":3727
 *         start: cython.int = min_indentation - indentation_length
 *         lines = [
 *             line[start:] if line != '\n' else '\n'             # <<<<<<<<<<<<<<
 *             for line in lines
 *         ]
*/
          __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_9genexpr19__pyx_v_line, __pyx_mstate_global->__pyx_kp_u__3, Py_NE)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3727, __pyx_L21_error)
          if (__pyx_t_1) {
            if (unlikely(__pyx_9genexpr19__pyx_v_line == Py_None)) {
              PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
              __PYX_ERR(0, 3727, __pyx_L21_error)
            }
            __pyx_t_11 = __Pyx_PyUnicode_Substring(__pyx_9genexpr19__pyx_v_line, __pyx_v_start, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3727, __pyx_L21_error)
            __Pyx_GOTREF(__pyx_t_11);
            __pyx_t_5 = __pyx_t_11;
            __pyx_t_11 = 0;
          } else {
            __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__3);
            __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u__3;
          }
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 3726, __pyx_L21_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

          /* "Cython/Compiler/Code.py":3728
 *         lines = [
 *             line[start:] if line != '\n' else '\n'
 *             for line in lines             # <<<<<<<<<<<<<<
 *         ]
 * 
*/
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line); __pyx_9genexpr19__pyx_v_line = 0;
        goto __pyx_L25_exit_scope;
        __pyx_L21_error:;
        __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line); __pyx_9genexpr19__pyx_v_line = 0;
        goto __pyx_L1_error;
        __pyx_L25_exit_scope:;
      } /* exit inner scope */
      __Pyx_DECREF_SET(__pyx_v_lines, ((PyObject*)__pyx_t_2));
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":3724
 *             for line in lines
 *         ]
 *     elif min_indentation > indentation_length:             # <<<<<<<<<<<<<<
 *         start: cython.int = min_indentation - indentation_length
 *         lines = [
*/
    }
    __pyx_L11:;

    /* "Cython/Compiler/Code.py":3731
 *         ]
 * 
 *     return ''.join(lines)             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__9, __pyx_v_lines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3685
 * 
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * @cython.ccall
 * def _indent_chunk(chunk: str, indentation_length: cython.int) -> str:
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_11);
    __Pyx_AddTraceback("Cython.Compiler.Code._indent_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = 0;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_lines);
    __Pyx_XDECREF(__pyx_v_last_line);
    __Pyx_XDECREF(__pyx_v_line);
    __Pyx_XDECREF(__pyx_v_add_indent);
    __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line);
    __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_25_indent_chunk(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  PyDoc_STRVAR(__pyx_doc_6Cython_8Compiler_4Code_24_indent_chunk, "Normalise leading space to the intended indentation and strip empty lines.\n    ");
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_25_indent_chunk = {"_indent_chunk", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_25_indent_chunk, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_24_indent_chunk};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_25_indent_chunk(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_chunk = 0;
    int __pyx_v_indentation_length;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("_indent_chunk (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_chunk,&__pyx_mstate_global->__pyx_n_u_indentation_length,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3685, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3685, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3685, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_indent_chunk", 0) < (0)) __PYX_ERR(0, 3685, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_indent_chunk", 1, 2, 2, i); __PYX_ERR(0, 3685, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3685, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3685, __pyx_L3_error)
      }
      __pyx_v_chunk = ((PyObject*)values[0]);
      __pyx_v_indentation_length = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_indentation_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3687, __pyx_L3_error)
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("_indent_chunk", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3685, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code._indent_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chunk), (&PyUnicode_Type), 0, "chunk", 2))) __PYX_ERR(0, 3687, __pyx_L1_error)
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_24_indent_chunk(__pyx_self, __pyx_v_chunk, __pyx_v_indentation_length);

    /* function exit code */
    goto __pyx_L0;
    __pyx_L1_error:;
    __pyx_r = NULL;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    goto __pyx_L7_cleaned_up;
    __pyx_L0:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __pyx_L7_cleaned_up:;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_24_indent_chunk(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_chunk, int __pyx_v_indentation_length) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("_indent_chunk", 0);
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_chunk == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(0, 3685, __pyx_L1_error)
    }
    __pyx_t_1 = __pyx_f_6Cython_8Compiler_4Code__indent_chunk(__pyx_v_chunk, __pyx_v_indentation_length, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code._indent_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3734
 * 
 * 
 * @cython.exceptval(-1)             # <<<<<<<<<<<<<<
 * @cython.cfunc
 * def _count_indentation(s: str) -> cython.int:
*/

  static int __pyx_f_6Cython_8Compiler_4Code__count_indentation(PyObject *__pyx_v_s) {
    int __pyx_v_i;
    Py_UCS4 __pyx_v_ch;
    int __pyx_r;
    __Pyx_RefNannyDeclarations
    int __pyx_t_1;
    PyObject *__pyx_t_2 = NULL;
    Py_ssize_t __pyx_t_3;
    Py_ssize_t __pyx_t_4;
    void *__pyx_t_5;
    int __pyx_t_6;
    int __pyx_t_7;
    Py_ssize_t __pyx_t_8;
    int __pyx_t_9;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("_count_indentation", 0);

    /* "Cython/Compiler/Code.py":3737
 * @cython.cfunc
 * def _count_indentation(s: str) -> cython.int:
 *     i: cython.int = 0             # <<<<<<<<<<<<<<
 *     ch: cython.Py_UCS4
 *     for i, ch in enumerate(s):
*/
    __pyx_v_i = 0;

    /* "Cython/Compiler/Code.py":3739
 *     i: cython.int = 0
 *     ch: cython.Py_UCS4
 *     for i, ch in enumerate(s):             # <<<<<<<<<<<<<<
 *         if ch != ' ':
 *             break
*/
    __pyx_t_1 = 0;
    __Pyx_INCREF(__pyx_v_s);
    __pyx_t_2 = __pyx_v_s;
    __pyx_t_7 = __Pyx_init_unicode_iteration(__pyx_t_2, (&__pyx_t_4), (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 3739, __pyx_L1_error)
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_4; __pyx_t_8++) {
      __pyx_t_3 = __pyx_t_8;
      __pyx_v_ch = __Pyx_PyUnicode_READ(__pyx_t_6, __pyx_t_5, __pyx_t_3);

      /* "Cython/Compiler/Code.py":3740
 *     ch: cython.Py_UCS4
 *     for i, ch in enumerate(s):
 *         if ch != ' ':             # <<<<<<<<<<<<<<
 *             break
 *     return i
*/
      __pyx_v_i = __pyx_t_1;

      /* "Cython/Compiler/Code.py":3739
 *     i: cython.int = 0
 *     ch: cython.Py_UCS4
 *     for i, ch in enumerate(s):             # <<<<<<<<<<<<<<
 *         if ch != ' ':
 *             break
*/
      __pyx_t_1 = (__pyx_t_1 + 1);

      /* "Cython/Compiler/Code.py":3740
 *     ch: cython.Py_UCS4
 *     for i, ch in enumerate(s):
 *         if ch != ' ':             # <<<<<<<<<<<<<<
 *             break
 *     return i
*/
      __pyx_t_9 = (__pyx_v_ch != 32);
      if (__pyx_t_9) {

        /* "Cython/Compiler/Code.py":3741
 *     for i, ch in enumerate(s):
 *         if ch != ' ':
 *             break             # <<<<<<<<<<<<<<
 *     return i
 * 
*/
        goto __pyx_L4_break;

        /* "Cython/Compiler/Code.py":3740
 *     ch: cython.Py_UCS4
 *     for i, ch in enumerate(s):
 *         if ch != ' ':             # <<<<<<<<<<<<<<
 *             break
 *     return i
*/
      }
    }
    __pyx_L4_break:;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":3742
 *         if ch != ' ':
 *             break
 *     return i             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_r = __pyx_v_i;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3734
 * 
 * 
 * @cython.exceptval(-1)             # <<<<<<<<<<<<<<
 * @cython.cfunc
 * def _count_indentation(s: str) -> cython.int:
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_2);
    __Pyx_AddTraceback("Cython.Compiler.Code._count_indentation", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = -1;
    __pyx_L0:;
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3746
 * 
 * class ClosureTempAllocator:
 *     def __init__(self, klass):             # <<<<<<<<<<<<<<
 *         self.klass = klass
 *         self.temps_allocated = {}
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_self = 0;
    PyObject *__pyx_v_klass = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_klass,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3746, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3746, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3746, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(0, 3746, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(0, 3746, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3746, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3746, __pyx_L3_error)
      }
      __pyx_v_self = values[0];
      __pyx_v_klass = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3746, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.ClosureTempAllocator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator___init__(__pyx_self, __pyx_v_self, __pyx_v_klass);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_klass) {
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("__init__", 0);

    /* "Cython/Compiler/Code.py":3747
 * class ClosureTempAllocator:
 *     def __init__(self, klass):
 *         self.klass = klass             # <<<<<<<<<<<<<<
 *         self.temps_allocated = {}
 *         self.temps_free = {}
*/
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_klass, __pyx_v_klass) < (0)) __PYX_ERR(0, 3747, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":3748
 *     def __init__(self, klass):
 *         self.klass = klass
 *         self.temps_allocated = {}             # <<<<<<<<<<<<<<
 *         self.temps_free = {}
 *         self.temps_count = 0
*/
    __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_allocated, __pyx_t_1) < (0)) __PYX_ERR(0, 3748, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3749
 *         self.klass = klass
 *         self.temps_allocated = {}
 *         self.temps_free = {}             # <<<<<<<<<<<<<<
 *         self.temps_count = 0
 * 
*/
    __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_free, __pyx_t_1) < (0)) __PYX_ERR(0, 3749, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3750
 *         self.temps_allocated = {}
 *         self.temps_free = {}
 *         self.temps_count = 0             # <<<<<<<<<<<<<<
 * 
 *     def reset(self):
*/
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_count, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(0, 3750, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":3746
 * 
 * class ClosureTempAllocator:
 *     def __init__(self, klass):             # <<<<<<<<<<<<<<
 *         self.klass = klass
 *         self.temps_allocated = {}
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_AddTraceback("Cython.Compiler.Code.ClosureTempAllocator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3752
 *         self.temps_count = 0
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         for type, cnames in self.temps_allocated.items():
 *             self.temps_free[type] = list(cnames)
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_3reset(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_3reset = {"reset", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_3reset, METH_O, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_3reset(PyObject *__pyx_self, PyObject *__pyx_v_self) {
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("reset (wrapper)", 0);
    __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator_2reset(__pyx_self, ((PyObject *)__pyx_v_self));

    /* function exit code */
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator_2reset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
    PyObject *__pyx_v_type = NULL;
    PyObject *__pyx_v_cnames = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    Py_ssize_t __pyx_t_2;
    Py_ssize_t __pyx_t_3;
    int __pyx_t_4;
    PyObject *__pyx_t_5 = NULL;
    PyObject *__pyx_t_6 = NULL;
    int __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("reset", 0);

    /* "Cython/Compiler/Code.py":3753
 * 
 *     def reset(self):
 *         for type, cnames in self.temps_allocated.items():             # <<<<<<<<<<<<<<
 *             self.temps_free[type] = list(cnames)
 * 
*/
    __pyx_t_2 = 0;
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_allocated); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__pyx_t_5 == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(0, 3753, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_dict_iterator(__pyx_t_5, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_1);
    __pyx_t_1 = __pyx_t_6;
    __pyx_t_6 = 0;
    while (1) {
      __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_6, &__pyx_t_5, NULL, __pyx_t_4);
      if (unlikely(__pyx_t_7 == 0)) break;
      if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 3753, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_v_cnames, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":3754
 *     def reset(self):
 *         for type, cnames in self.temps_allocated.items():
 *             self.temps_free[type] = list(cnames)             # <<<<<<<<<<<<<<
 * 
 *     def allocate_temp(self, type):
*/
      __pyx_t_5 = PySequence_List(__pyx_v_cnames); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3754, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_free); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3754, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely((PyObject_SetItem(__pyx_t_6, __pyx_v_type, __pyx_t_5) < 0))) __PYX_ERR(0, 3754, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3752
 *         self.temps_count = 0
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         for type, cnames in self.temps_allocated.items():
 *             self.temps_free[type] = list(cnames)
*/

    /* function exit code */
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.ClosureTempAllocator.reset", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_type);
    __Pyx_XDECREF(__pyx_v_cnames);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  /* "Cython/Compiler/Code.py":3756
 *             self.temps_free[type] = list(cnames)
 * 
 *     def allocate_temp(self, type):             # <<<<<<<<<<<<<<
 *         if type not in self.temps_allocated:
 *             self.temps_allocated[type] = []
*/

  /* Python wrapper */
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
  static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp = {"allocate_temp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
  static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
    PyObject *__pyx_v_self = 0;
    PyObject *__pyx_v_type = 0;
    #if !CYTHON_METH_FASTCALL
    CYTHON_UNUSED Py_ssize_t __pyx_nargs;
    #endif
    CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
    PyObject* values[2] = {0,0};
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    PyObject *__pyx_r = 0;
    __Pyx_RefNannyDeclarations
    __Pyx_RefNannySetupContext("allocate_temp (wrapper)", 0);
    #if !CYTHON_METH_FASTCALL
    #if CYTHON_ASSUME_SAFE_SIZE
    __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
    #else
    __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
    #endif
    #endif
    __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
    {
      PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_type,0};
      const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
      if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 3756, __pyx_L3_error)
      if (__pyx_kwds_len > 0) {
        switch (__pyx_nargs) {
          case  2:
          values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3756, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  1:
          values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
          if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3756, __pyx_L3_error)
          CYTHON_FALLTHROUGH;
          case  0: break;
          default: goto __pyx_L5_argtuple_error;
        }
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "allocate_temp", 0) < (0)) __PYX_ERR(0, 3756, __pyx_L3_error)
        for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
          if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("allocate_temp", 1, 2, 2, i); __PYX_ERR(0, 3756, __pyx_L3_error) }
        }
      } else if (unlikely(__pyx_nargs != 2)) {
        goto __pyx_L5_argtuple_error;
      } else {
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 3756, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 3756, __pyx_L3_error)
      }
      __pyx_v_self = values[0];
      __pyx_v_type = values[1];
    }
    goto __pyx_L6_skip;
    __pyx_L5_argtuple_error:;
    __Pyx_RaiseArgtupleInvalid("allocate_temp", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3756, __pyx_L3_error)
    __pyx_L6_skip:;
    goto __pyx_L4_argument_unpacking_done;
    __pyx_L3_error:;
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_AddTraceback("Cython.Compiler.Code.ClosureTempAllocator.allocate_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __Pyx_RefNannyFinishContext();
    return NULL;
    __pyx_L4_argument_unpacking_done:;
    __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator_4allocate_temp(__pyx_self, __pyx_v_self, __pyx_v_type);

    /* function exit code */
    for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      Py_XDECREF(values[__pyx_temp]);
    }
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }

  static PyObject *__pyx_pf_6Cython_8Compiler_4Code_20ClosureTempAllocator_4allocate_temp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
    PyObject *__pyx_v_cname = NULL;
    PyObject *__pyx_r = NULL;
    __Pyx_RefNannyDeclarations
    PyObject *__pyx_t_1 = NULL;
    int __pyx_t_2;
    PyObject *__pyx_t_3 = NULL;
    PyObject *__pyx_t_4 = NULL;
    size_t __pyx_t_5;
    PyObject *__pyx_t_6 = NULL;
    int __pyx_t_7;
    int __pyx_lineno = 0;
    const char *__pyx_filename = NULL;
    int __pyx_clineno = 0;
    __Pyx_RefNannySetupContext("allocate_temp", 0);

    /* "Cython/Compiler/Code.py":3757
 * 
 *     def allocate_temp(self, type):
 *         if type not in self.temps_allocated:             # <<<<<<<<<<<<<<
 *             self.temps_allocated[type] = []
 *             self.temps_free[type] = []
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_allocated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_type, __pyx_t_1, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3757, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3758
 *     def allocate_temp(self, type):
 *         if type not in self.temps_allocated:
 *             self.temps_allocated[type] = []             # <<<<<<<<<<<<<<
 *             self.temps_free[type] = []
 *         elif self.temps_free[type]:
*/
      __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3758, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_allocated); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3758, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_v_type, __pyx_t_1) < 0))) __PYX_ERR(0, 3758, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3759
 *         if type not in self.temps_allocated:
 *             self.temps_allocated[type] = []
 *             self.temps_free[type] = []             # <<<<<<<<<<<<<<
 *         elif self.temps_free[type]:
 *             return self.temps_free[type].pop(0)
*/
      __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3759, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_free); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3759, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_v_type, __pyx_t_1) < 0))) __PYX_ERR(0, 3759, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":3757
 * 
 *     def allocate_temp(self, type):
 *         if type not in self.temps_allocated:             # <<<<<<<<<<<<<<
 *             self.temps_allocated[type] = []
 *             self.temps_free[type] = []
*/
      goto __pyx_L3;
    }

    /* "Cython/Compiler/Code.py":3760
 *             self.temps_allocated[type] = []
 *             self.temps_free[type] = []
 *         elif self.temps_free[type]:             # <<<<<<<<<<<<<<
 *             return self.temps_free[type].pop(0)
 *         cname = '%s%d' % (Naming.codewriter_temp_prefix, self.temps_count)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_free); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":3761
 *             self.temps_free[type] = []
 *         elif self.temps_free[type]:
 *             return self.temps_free[type].pop(0)             # <<<<<<<<<<<<<<
 *         cname = '%s%d' % (Naming.codewriter_temp_prefix, self.temps_count)
 *         self.klass.declare_var(pos=None, name=cname, cname=cname, type=type, is_cdef=True)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_free); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3761, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3761, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_PopIndex(__pyx_t_1, __pyx_mstate_global->__pyx_int_0, 0, 1, Py_ssize_t, PyLong_FromSsize_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3761, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L0;

      /* "Cython/Compiler/Code.py":3760
 *             self.temps_allocated[type] = []
 *             self.temps_free[type] = []
 *         elif self.temps_free[type]:             # <<<<<<<<<<<<<<
 *             return self.temps_free[type].pop(0)
 *         cname = '%s%d' % (Naming.codewriter_temp_prefix, self.temps_count)
*/
    }
    __pyx_L3:;

    /* "Cython/Compiler/Code.py":3762
 *         elif self.temps_free[type]:
 *             return self.temps_free[type].pop(0)
 *         cname = '%s%d' % (Naming.codewriter_temp_prefix, self.temps_count)             # <<<<<<<<<<<<<<
 *         self.klass.declare_var(pos=None, name=cname, cname=cname, type=type, is_cdef=True)
 *         self.temps_allocated[type].append(cname)
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_mstate_global->__pyx_n_u_codewriter_temp_prefix); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_t_3), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_FormatAndDecref(__Pyx_PyNumber_Long(__pyx_t_3), __pyx_mstate_global->__pyx_n_u_d); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_cname = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3763
 *             return self.temps_free[type].pop(0)
 *         cname = '%s%d' % (Naming.codewriter_temp_prefix, self.temps_count)
 *         self.klass.declare_var(pos=None, name=cname, cname=cname, type=type, is_cdef=True)             # <<<<<<<<<<<<<<
 *         self.temps_allocated[type].append(cname)
 *         self.temps_count += 1
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_klass); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_t_1;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 5 : 0)] = {__pyx_t_4, NULL};
      __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3763, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_pos, Py_None, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 3763, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_v_cname, __pyx_t_6, __pyx_callargs+1, 1) < (0)) __PYX_ERR(0, 3763, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_cname, __pyx_v_cname, __pyx_t_6, __pyx_callargs+1, 2) < (0)) __PYX_ERR(0, 3763, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_type, __pyx_v_type, __pyx_t_6, __pyx_callargs+1, 3) < (0)) __PYX_ERR(0, 3763, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_cdef, Py_True, __pyx_t_6, __pyx_callargs+1, 4) < (0)) __PYX_ERR(0, 3763, __pyx_L1_error)
      __pyx_t_3 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_declare_var, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3763, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3764
 *         cname = '%s%d' % (Naming.codewriter_temp_prefix, self.temps_count)
 *         self.klass.declare_var(pos=None, name=cname, cname=cname, type=type, is_cdef=True)
 *         self.temps_allocated[type].append(cname)             # <<<<<<<<<<<<<<
 *         self.temps_count += 1
 *         return cname
*/
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_allocated); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_7 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_cname); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 3764, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":3765
 *         self.klass.declare_var(pos=None, name=cname, cname=cname, type=type, is_cdef=True)
 *         self.temps_allocated[type].append(cname)
 *         self.temps_count += 1             # <<<<<<<<<<<<<<
 *         return cname
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_temps_count, __pyx_t_3) < (0)) __PYX_ERR(0, 3765, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":3766
 *         self.temps_allocated[type].append(cname)
 *         self.temps_count += 1
 *         return cname             # <<<<<<<<<<<<<<
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_cname);
    __pyx_r = __pyx_v_cname;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":3756
 *             self.temps_free[type] = list(cnames)
 * 
 *     def allocate_temp(self, type):             # <<<<<<<<<<<<<<
 *         if type not in self.temps_allocated:
 *             self.temps_allocated[type] = []
*/

    /* function exit code */
    __pyx_L1_error:;
    __Pyx_XDECREF(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_3);
    __Pyx_XDECREF(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6);
    __Pyx_AddTraceback("Cython.Compiler.Code.ClosureTempAllocator.allocate_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
    __pyx_r = NULL;
    __pyx_L0:;
    __Pyx_XDECREF(__pyx_v_cname);
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    return __pyx_r;
  }
/* #### Code section: module_exttypes ### */

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_AbstractUtilityCode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_AbstractUtilityCode(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code_AbstractUtilityCode) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_AbstractUtilityCode[] = {
  {"put_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_1put_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_tree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_3get_tree, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_shared_library_scope", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_19AbstractUtilityCode_5get_shared_library_scope, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_AbstractUtilityCode},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_AbstractUtilityCode},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_AbstractUtilityCode},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode_spec = {
  "Cython.Compiler.Code.AbstractUtilityCode",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""AbstractUtilityCode", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_AbstractUtilityCode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_AbstractUtilityCode, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_AbstractUtilityCode, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_AbstractUtilityCode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCodeBase __pyx_vtable_6Cython_8Compiler_4Code_UtilityCodeBase;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_UtilityCodeBase(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *p;
  PyObject *o = __pyx_tp_new_6Cython_8Compiler_4Code_AbstractUtilityCode(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *)o);
  p->__pyx_vtab = __pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCodeBase;
  return o;
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_UtilityCodeBase[] = {
  {"get_special_comment_matcher", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_1get_special_comment_matcher, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"_add_utility", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_3_add_utility, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"load_utilities_from_file", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_5load_utilities_from_file, METH_O, 0},
  {"load", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_7load, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_6load},
  {"load_cached", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_cached, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_cached},
  {"load_as_string", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_11load_as_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_10load_as_string},
  {"get_tree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_17get_tree, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_shared_library_scope", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_19get_shared_library_scope, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__deepcopy__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_21__deepcopy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_AbstractUtilityCode},
  {Py_tp_repr, (void *)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Support for loading utility code from a file.\n\n    Code sections in the file can be specified as follows:\n\n        ##### MyUtility.proto #####\n\n        [proto declarations]\n\n        ##### MyUtility.init #####\n\n        [code run at module initialization]\n\n        ##### MyUtility #####\n        #@requires: MyOtherUtility\n        #@substitute: naming\n\n        [definitions]\n\n        ##### MyUtility #####\n        #@substitute: tempita\n\n        [requires tempita substitution\n         - context can't be specified here though so only\n           tempita utility that requires no external context\n           will benefit from this tag\n         - only necessary when @required from non-tempita code]\n\n    for prototypes and implementation respectively.  For non-python or\n    -cython files backslashes should be used instead.  5 to 30 comment\n    characters may be used on either side.\n\n    If the @cname decorator is not used and this is a CythonUtilityCode,\n    one should pass in the 'name' keyword argument to be used for name\n    mangling of such entries.\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_UtilityCodeBase},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_UtilityCodeBase},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase_spec = {
  "Cython.Compiler.Code.UtilityCodeBase",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""UtilityCodeBase", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_AbstractUtilityCode, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("\n    Support for loading utility code from a file.\n\n    Code sections in the file can be specified as follows:\n\n        ##### MyUtility.proto #####\n\n        [proto declarations]\n\n        ##### MyUtility.init #####\n\n        [code run at module initialization]\n\n        ##### MyUtility #####\n        #@requires: MyOtherUtility\n        #@substitute: naming\n\n        [definitions]\n\n        ##### MyUtility #####\n        #@substitute: tempita\n\n        [requires tempita substitution\n         - context can't be specified here though so only\n           tempita utility that requires no external context\n           will benefit from this tag\n         - only necessary when @required from non-tempita code]\n\n    for prototypes and implementation respectively.  For non-python or\n    -cython files backslashes should be used instead.  5 to 30 comment\n    characters may be used on either side.\n\n    If the @cname decorator is not used and this is a CythonUtilityCode,\n    one should pass in the 'name' keyword argument to be used for name\n    mangling of such entries.\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_UtilityCodeBase, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_UtilityCodeBase, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCode __pyx_vtable_6Cython_8Compiler_4Code_UtilityCode;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_UtilityCode(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *p;
  PyObject *o = __pyx_tp_new_6Cython_8Compiler_4Code_UtilityCodeBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_6Cython_8Compiler_4Code_UtilityCodeBase*)__pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCode;
  p->name = Py_None; Py_INCREF(Py_None);
  p->proto = Py_None; Py_INCREF(Py_None);
  p->__pyx_export = Py_None; Py_INCREF(Py_None);
  p->impl = Py_None; Py_INCREF(Py_None);
  p->init = Py_None; Py_INCREF(Py_None);
  p->cleanup = Py_None; Py_INCREF(Py_None);
  p->proto_block = Py_None; Py_INCREF(Py_None);
  p->module_state_decls = Py_None; Py_INCREF(Py_None);
  p->module_state_traverse = Py_None; Py_INCREF(Py_None);
  p->module_state_clear = Py_None; Py_INCREF(Py_None);
  p->__pyx_requires = Py_None; Py_INCREF(Py_None);
  p->_cache = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->specialize_list = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->file = Py_None; Py_INCREF(Py_None);
  p->_parts_tuple = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->shared_utility_functions = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_UtilityCode(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *p = (struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code_UtilityCode) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->name);
  Py_CLEAR(p->proto);
  Py_CLEAR(p->__pyx_export);
  Py_CLEAR(p->impl);
  Py_CLEAR(p->init);
  Py_CLEAR(p->cleanup);
  Py_CLEAR(p->proto_block);
  Py_CLEAR(p->module_state_decls);
  Py_CLEAR(p->module_state_traverse);
  Py_CLEAR(p->module_state_clear);
  Py_CLEAR(p->__pyx_requires);
  Py_CLEAR(p->_cache);
  Py_CLEAR(p->specialize_list);
  Py_CLEAR(p->file);
  Py_CLEAR(p->_parts_tuple);
  Py_CLEAR(p->shared_utility_functions);
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_AbstractUtilityCode(o);
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_UtilityCode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *p = (struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)o;
  #if !CYTHON_USE_MODULE_STATE
  e = 0;
  if (likely(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase)) {
    traverseproc traverse = __Pyx_PyType_GetSlot(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, tp_traverse, traverseproc);
    if (traverse) { e = traverse(o, v, a); }
  } else
  #endif
  { e = __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_6Cython_8Compiler_4Code_UtilityCode); }
  if (e) return e;
  {
    e = __Pyx_call_type_traverse(o, 0, v, a);
    if (e) return e;
  }
  if (p->name) {
    e = (*v)(p->name, a); if (e) return e;
  }
  if (p->proto) {
    e = (*v)(p->proto, a); if (e) return e;
  }
  if (p->__pyx_export) {
    e = (*v)(p->__pyx_export, a); if (e) return e;
  }
  if (p->impl) {
    e = (*v)(p->impl, a); if (e) return e;
  }
  if (p->init) {
    e = (*v)(p->init, a); if (e) return e;
  }
  if (p->cleanup) {
    e = (*v)(p->cleanup, a); if (e) return e;
  }
  if (p->proto_block) {
    e = (*v)(p->proto_block, a); if (e) return e;
  }
  if (p->module_state_decls) {
    e = (*v)(p->module_state_decls, a); if (e) return e;
  }
  if (p->module_state_traverse) {
    e = (*v)(p->module_state_traverse, a); if (e) return e;
  }
  if (p->module_state_clear) {
    e = (*v)(p->module_state_clear, a); if (e) return e;
  }
  if (p->__pyx_requires) {
    e = (*v)(p->__pyx_requires, a); if (e) return e;
  }
  if (p->_cache) {
    e = (*v)(p->_cache, a); if (e) return e;
  }
  if (p->specialize_list) {
    e = (*v)(p->specialize_list, a); if (e) return e;
  }
  if (p->file) {
    e = (*v)(p->file, a); if (e) return e;
  }
  if (p->_parts_tuple) {
    e = (*v)(p->_parts_tuple, a); if (e) return e;
  }
  if (p->shared_utility_functions) {
    e = (*v)(p->shared_utility_functions, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_UtilityCode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *p = (struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)o;
  #if !CYTHON_USE_MODULE_STATE
  if (likely(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase)) {
    inquiry clear = __Pyx_PyType_GetSlot(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, tp_clear, inquiry);
    if (clear) clear(o);
  } else
  #endif
  { __Pyx_call_next_tp_clear(o, __pyx_tp_clear_6Cython_8Compiler_4Code_UtilityCode); }
  tmp = ((PyObject*)p->name);
  p->name = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->proto);
  p->proto = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_export);
  p->__pyx_export = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->impl);
  p->impl = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->init);
  p->init = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->cleanup);
  p->cleanup = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->proto_block);
  p->proto_block = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->module_state_decls);
  p->module_state_decls = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->module_state_traverse);
  p->module_state_traverse = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->module_state_clear);
  p->module_state_clear = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_requires);
  p->__pyx_requires = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cache);
  p->_cache = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->specialize_list);
  p->specialize_list = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->file);
  p->file = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_parts_tuple);
  p->_parts_tuple = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->shared_utility_functions);
  p->shared_utility_functions = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_6Cython_8Compiler_4Code_UtilityCode(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4name_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_proto(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_proto(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5proto_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_export(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_export(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_6export_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_impl(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_impl(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4impl_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_init(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_init(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4init_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_cleanup(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_cleanup(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7cleanup_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_module_state_decls(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_18module_state_decls_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_module_state_traverse(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_21module_state_traverse_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_module_state_clear(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_18module_state_clear_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_requires(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_requires(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_8requires_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_file(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_file(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_4file_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode__parts_tuple(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_12_parts_tuple_1__get__(o);
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_UtilityCode[] = {
  {"parse_export_functions", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_3parse_export_functions, METH_O, 0},
  {"specialize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_11specialize, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"_validate_suitable_for_sharing", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_13_validate_suitable_for_sharing, METH_NOARGS, 0},
  {"_put_code_section", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_15_put_code_section, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"_put_init_code_section", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_17_put_init_code_section, METH_O, 0},
  {"_put_shared_function_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_19_put_shared_function_declarations, METH_O, 0},
  {"put_code", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_21put_code, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_UtilityCode[] = {
  {"name", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_name, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_name, 0, 0},
  {"proto", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_proto, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_proto, 0, 0},
  {"export", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_export, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_export, 0, 0},
  {"impl", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_impl, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_impl, 0, 0},
  {"init", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_init, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_init, 0, 0},
  {"cleanup", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_cleanup, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_cleanup, 0, 0},
  {"module_state_decls", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_module_state_decls, 0, 0, 0},
  {"module_state_traverse", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_module_state_traverse, 0, 0, 0},
  {"module_state_clear", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_module_state_clear, 0, 0, 0},
  {"requires", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_requires, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_requires, 0, 0},
  {"file", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode_file, __pyx_setprop_6Cython_8Compiler_4Code_11UtilityCode_file, 0, 0},
  {"_parts_tuple", __pyx_getprop_6Cython_8Compiler_4Code_11UtilityCode__parts_tuple, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_UtilityCode_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_UtilityCode},
  {Py_tp_hash, (void *)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Stores utility code to add during code generation.\n\n    See GlobalState.put_utility_code.\n\n    hashes/equals by instance\n\n    proto           C prototypes\n    export          C prototypes exported from the shared utility code module\n    impl            implementation code\n    init            code to call on module initialization\n    requires        utility code dependencies\n    proto_block     the place in the resulting file where the prototype should\n                    end up\n    name            name of the utility code (or None)\n    file            filename of the utility code file this utility was loaded\n                    from (or None)\n    shared_utility_functions        List of parsed declaration line of the shared utility function\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_UtilityCode},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_UtilityCode},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_6Cython_8Compiler_4Code_UtilityCode},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_UtilityCode},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_UtilityCode},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_UtilityCode},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_UtilityCode_spec = {
  "Cython.Compiler.Code.UtilityCode",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_UtilityCode_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_UtilityCode = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""UtilityCode", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_UtilityCode, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Stores utility code to add during code generation.\n\n    See GlobalState.put_utility_code.\n\n    hashes/equals by instance\n\n    proto           C prototypes\n    export          C prototypes exported from the shared utility code module\n    impl            implementation code\n    init            code to call on module initialization\n    requires        utility code dependencies\n    proto_block     the place in the resulting file where the prototype should\n                    end up\n    name            name of the utility code (or None)\n    file            filename of the utility code file this utility was loaded\n                    from (or None)\n    shared_utility_functions        List of parsed declaration line of the shared utility function\n    "), /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_UtilityCode, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_UtilityCode, /*tp_clear*/
  __pyx_tp_richcompare_6Cython_8Compiler_4Code_UtilityCode, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_UtilityCode, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_UtilityCode, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_UtilityCode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState __pyx_vtable_6Cython_8Compiler_4Code_FunctionState;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_FunctionState(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 1);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)o);
  p->__pyx_vtab = __pyx_vtabptr_6Cython_8Compiler_4Code_FunctionState;
  p->names_taken = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->owner = Py_None; Py_INCREF(Py_None);
  p->scope = Py_None; Py_INCREF(Py_None);
  p->error_label = Py_None; Py_INCREF(Py_None);
  p->labels_used = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->return_label = Py_None; Py_INCREF(Py_None);
  p->continue_label = Py_None; Py_INCREF(Py_None);
  p->break_label = Py_None; Py_INCREF(Py_None);
  p->yield_labels = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->return_from_error_cleanup_label = Py_None; Py_INCREF(Py_None);
  p->exc_vars = Py_None; Py_INCREF(Py_None);
  p->current_except = Py_None; Py_INCREF(Py_None);
  p->temps_allocated = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->temps_free = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->temps_used_type = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->zombie_temps = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->collect_temps_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->closure_temps = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_FunctionState(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *p = (struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->names_taken);
  Py_CLEAR(p->owner);
  Py_CLEAR(p->scope);
  Py_CLEAR(p->error_label);
  Py_CLEAR(p->labels_used);
  Py_CLEAR(p->return_label);
  Py_CLEAR(p->continue_label);
  Py_CLEAR(p->break_label);
  Py_CLEAR(p->yield_labels);
  Py_CLEAR(p->return_from_error_cleanup_label);
  Py_CLEAR(p->exc_vars);
  Py_CLEAR(p->current_except);
  Py_CLEAR(p->temps_allocated);
  Py_CLEAR(p->temps_free);
  Py_CLEAR(p->temps_used_type);
  Py_CLEAR(p->zombie_temps);
  Py_CLEAR(p->collect_temps_stack);
  Py_CLEAR(p->closure_temps);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_FunctionState(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *p = (struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->names_taken) {
    e = (*v)(p->names_taken, a); if (e) return e;
  }
  if (p->owner) {
    e = (*v)(p->owner, a); if (e) return e;
  }
  if (p->scope) {
    e = (*v)(p->scope, a); if (e) return e;
  }
  if (p->error_label) {
    e = (*v)(p->error_label, a); if (e) return e;
  }
  if (p->labels_used) {
    e = (*v)(p->labels_used, a); if (e) return e;
  }
  if (p->return_label) {
    e = (*v)(p->return_label, a); if (e) return e;
  }
  if (p->continue_label) {
    e = (*v)(p->continue_label, a); if (e) return e;
  }
  if (p->break_label) {
    e = (*v)(p->break_label, a); if (e) return e;
  }
  if (p->yield_labels) {
    e = (*v)(p->yield_labels, a); if (e) return e;
  }
  if (p->return_from_error_cleanup_label) {
    e = (*v)(p->return_from_error_cleanup_label, a); if (e) return e;
  }
  if (p->exc_vars) {
    e = (*v)(p->exc_vars, a); if (e) return e;
  }
  if (p->current_except) {
    e = (*v)(p->current_except, a); if (e) return e;
  }
  if (p->temps_allocated) {
    e = (*v)(p->temps_allocated, a); if (e) return e;
  }
  if (p->temps_free) {
    e = (*v)(p->temps_free, a); if (e) return e;
  }
  if (p->temps_used_type) {
    e = (*v)(p->temps_used_type, a); if (e) return e;
  }
  if (p->zombie_temps) {
    e = (*v)(p->zombie_temps, a); if (e) return e;
  }
  if (p->collect_temps_stack) {
    e = (*v)(p->collect_temps_stack, a); if (e) return e;
  }
  if (p->closure_temps) {
    e = (*v)(p->closure_temps, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_FunctionState(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *p = (struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)o;
  tmp = ((PyObject*)p->names_taken);
  p->names_taken = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->owner);
  p->owner = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->scope);
  p->scope = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->error_label);
  p->error_label = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->labels_used);
  p->labels_used = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->return_label);
  p->return_label = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->continue_label);
  p->continue_label = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->break_label);
  p->break_label = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->yield_labels);
  p->yield_labels = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->return_from_error_cleanup_label);
  p->return_from_error_cleanup_label = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->exc_vars);
  p->exc_vars = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->current_except);
  p->current_except = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->temps_allocated);
  p->temps_allocated = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->temps_free);
  p->temps_free = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->temps_used_type);
  p->temps_used_type = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->zombie_temps);
  p->zombie_temps = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->collect_temps_stack);
  p->collect_temps_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->closure_temps);
  p->closure_temps = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_owner(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_owner(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5owner_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_scope(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_scope(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5scope_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_error_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_error_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11error_label_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_label_counter(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13label_counter_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_label_counter(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13label_counter_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_labels_used(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_labels_used(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11labels_used_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_return_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_return_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12return_label_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_continue_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_continue_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14continue_label_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_break_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_break_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11break_label_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_yield_labels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_return_from_error_cleanup_label(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_return_from_error_cleanup_label(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31return_from_error_cleanup_label_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_exc_vars(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_exc_vars(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_8exc_vars_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_current_except(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_current_except(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14current_except_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_can_trace(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9can_trace_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_can_trace(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9can_trace_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_gil_owned(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_gil_owned(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9gil_owned_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_closure_temps(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_uses_error_indicator(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_uses_error_indicator(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_20uses_error_indicator_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_error_without_exception(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_error_without_exception(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23error_without_exception_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_needs_refnanny(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_needs_refnanny(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14needs_refnanny_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_FunctionState[] = {
  {"validate_exit", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3validate_exit, METH_NOARGS, 0},
  {"new_yield_label", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_yield_label, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"new_error_label", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9new_error_label, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"new_loop_labels", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15new_loop_labels, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"all_new_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21all_new_labels, METH_NOARGS, 0},
  {"use_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23use_label, METH_O, 0},
  {"label_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25label_used, METH_O, 0},
  {"allocate_temp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_27allocate_temp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_26allocate_temp},
  {"release_temp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_29release_temp, METH_O, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_28release_temp},
  {"temps_holding_reference", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_33temps_holding_reference, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_32temps_holding_reference},
  {"all_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_35all_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_34all_managed_temps},
  {"all_free_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_37all_free_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_36all_free_managed_temps},
  {"init_closure_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_43init_closure_temps, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_FunctionState[] = {
  {"owner", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_owner, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_owner, 0, 0},
  {"scope", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_scope, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_scope, 0, 0},
  {"error_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_error_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_error_label, 0, 0},
  {"label_counter", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_label_counter, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_label_counter, 0, 0},
  {"labels_used", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_labels_used, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_labels_used, 0, 0},
  {"return_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_return_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_return_label, 0, 0},
  {"continue_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_continue_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_continue_label, 0, 0},
  {"break_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_break_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_break_label, 0, 0},
  {"yield_labels", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_yield_labels, 0, 0, 0},
  {"return_from_error_cleanup_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_return_from_error_cleanup_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_return_from_error_cleanup_label, 0, 0},
  {"exc_vars", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_exc_vars, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_exc_vars, 0, 0},
  {"current_except", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_current_except, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_current_except, 0, 0},
  {"can_trace", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_can_trace, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_can_trace, 0, 0},
  {"gil_owned", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_gil_owned, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_gil_owned, 0, 0},
  {"closure_temps", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_closure_temps, 0, 0, 0},
  {"uses_error_indicator", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_uses_error_indicator, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_uses_error_indicator, 0, 0},
  {"error_without_exception", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_error_without_exception, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_error_without_exception, 0, 0},
  {"needs_refnanny", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_needs_refnanny, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_needs_refnanny, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_FunctionState_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_FunctionState},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_FunctionState},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_FunctionState},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_FunctionState},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_FunctionState},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_FunctionState},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_FunctionState_spec = {
  "Cython.Compiler.Code.FunctionState",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_FunctionState_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_FunctionState = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""FunctionState", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_FunctionState, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_FunctionState, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_FunctionState, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_FunctionState, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_FunctionState, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_FunctionState, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyObjectConst(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 1);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)o);
  p->cname = Py_None; Py_INCREF(Py_None);
  p->type = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyObjectConst(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->cname);
  Py_CLEAR(p->type);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_PyObjectConst(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->cname) {
    e = (*v)(p->cname, a); if (e) return e;
  }
  if (p->type) {
    e = (*v)(p->type, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_PyObjectConst(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)o;
  tmp = ((PyObject*)p->cname);
  p->cname = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->type);
  p->type = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyObjectConst_cname(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyObjectConst_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_1__get__(o);
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_PyObjectConst[] = {
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_PyObjectConst[] = {
  {"cname", __pyx_getprop_6Cython_8Compiler_4Code_13PyObjectConst_cname, 0, 0, 0},
  {"type", __pyx_getprop_6Cython_8Compiler_4Code_13PyObjectConst_type, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_PyObjectConst_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_PyObjectConst},
  {Py_tp_doc, (void *)PyDoc_STR("Global info about a generic constant held by GlobalState.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_PyObjectConst},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_PyObjectConst},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_PyObjectConst},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_PyObjectConst},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_PyObjectConst},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_PyObjectConst_spec = {
  "Cython.Compiler.Code.PyObjectConst",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_PyObjectConst_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_PyObjectConst = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""PyObjectConst", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyObjectConst, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Global info about a generic constant held by GlobalState.\n    "), /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_PyObjectConst, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_PyObjectConst, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_PyObjectConst, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_PyObjectConst, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_PyObjectConst, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_StringConst __pyx_vtable_6Cython_8Compiler_4Code_StringConst;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_StringConst(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 1);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)o);
  p->__pyx_vtab = __pyx_vtabptr_6Cython_8Compiler_4Code_StringConst;
  p->cname = Py_None; Py_INCREF(Py_None);
  p->text = Py_None; Py_INCREF(Py_None);
  p->escaped_value = Py_None; Py_INCREF(Py_None);
  p->py_strings = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_StringConst(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->cname);
  Py_CLEAR(p->text);
  Py_CLEAR(p->escaped_value);
  Py_CLEAR(p->py_strings);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_StringConst(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->cname) {
    e = (*v)(p->cname, a); if (e) return e;
  }
  if (p->text) {
    e = (*v)(p->text, a); if (e) return e;
  }
  if (p->escaped_value) {
    e = (*v)(p->escaped_value, a); if (e) return e;
  }
  if (p->py_strings) {
    e = (*v)(p->py_strings, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_StringConst(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)o;
  tmp = ((PyObject*)p->cname);
  p->cname = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->text);
  p->text = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->escaped_value);
  p->escaped_value = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->py_strings);
  p->py_strings = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11StringConst_cname(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11StringConst_text(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11StringConst_escaped_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11StringConst_py_strings(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11StringConst_c_used(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_6c_used_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_c_used(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_6c_used_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_StringConst[] = {
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_StringConst[] = {
  {"cname", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_cname, 0, 0, 0},
  {"text", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_text, 0, 0, 0},
  {"escaped_value", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_escaped_value, 0, 0, 0},
  {"py_strings", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_py_strings, 0, 0, 0},
  {"c_used", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_c_used, __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_c_used, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_StringConst_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_StringConst},
  {Py_tp_doc, (void *)PyDoc_STR("Global info about a C string constant held by GlobalState.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_StringConst},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_StringConst},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_StringConst},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_StringConst},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_11StringConst_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_StringConst},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_StringConst_spec = {
  "Cython.Compiler.Code.StringConst",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_StringConst_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_StringConst = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""StringConst", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_StringConst, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Global info about a C string constant held by GlobalState.\n    "), /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_StringConst, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_StringConst, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_StringConst, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_StringConst, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_11StringConst_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_StringConst, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyStringConst(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 1);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)o);
  p->cname = Py_None; Py_INCREF(Py_None);
  p->encoding = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyStringConst(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->cname);
  Py_CLEAR(p->encoding);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_PyStringConst(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->cname) {
    e = (*v)(p->cname, a); if (e) return e;
  }
  if (p->encoding) {
    e = (*v)(p->encoding, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_PyStringConst(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst *)o;
  tmp = ((PyObject*)p->cname);
  p->cname = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->encoding);
  p->encoding = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_6Cython_8Compiler_4Code_PyStringConst(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_LT: {
      return __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_3__lt__(o1, o2);
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_cname(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_5cname_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_encoding(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_8encoding_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_is_unicode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_10is_unicode_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_intern(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_6intern_1__get__(o);
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_PyStringConst[] = {
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_PyStringConst[] = {
  {"cname", __pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_cname, 0, 0, 0},
  {"encoding", __pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_encoding, 0, 0, 0},
  {"is_unicode", __pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_is_unicode, 0, 0, 0},
  {"intern", __pyx_getprop_6Cython_8Compiler_4Code_13PyStringConst_intern, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_PyStringConst_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_PyStringConst},
  {Py_tp_doc, (void *)PyDoc_STR("Global info about a Python string constant held by GlobalState.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_PyStringConst},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_PyStringConst},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_6Cython_8Compiler_4Code_PyStringConst},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_PyStringConst},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_PyStringConst},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_PyStringConst},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_PyStringConst_spec = {
  "Cython.Compiler.Code.PyStringConst",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_PyStringConst_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_PyStringConst = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""PyStringConst", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyStringConst), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyStringConst, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Global info about a Python string constant held by GlobalState.\n    "), /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_PyStringConst, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_PyStringConst, /*tp_clear*/
  __pyx_tp_richcompare_6Cython_8Compiler_4Code_PyStringConst, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_PyStringConst, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_PyStringConst, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_PyStringConst, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_6Cython_8Compiler_4Code_CCodeWriter __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_CCodeWriter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)o);
  p->__pyx_vtab = __pyx_vtabptr_6Cython_8Compiler_4Code_CCodeWriter;
  p->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)Py_None); Py_INCREF(Py_None);
  p->pyclass_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->globalstate = Py_None; Py_INCREF(Py_None);
  p->funcstate = ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)Py_None); Py_INCREF(Py_None);
  p->code_config = Py_None; Py_INCREF(Py_None);
  p->last_pos = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->last_marked_pos = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_CCodeWriter(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code_CCodeWriter) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->buffer);
  Py_CLEAR(p->pyclass_stack);
  Py_CLEAR(p->globalstate);
  Py_CLEAR(p->funcstate);
  Py_CLEAR(p->code_config);
  Py_CLEAR(p->last_pos);
  Py_CLEAR(p->last_marked_pos);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_CCodeWriter(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->buffer) {
    e = (*v)(((PyObject *)p->buffer), a); if (e) return e;
  }
  if (p->pyclass_stack) {
    e = (*v)(p->pyclass_stack, a); if (e) return e;
  }
  if (p->globalstate) {
    e = (*v)(p->globalstate, a); if (e) return e;
  }
  if (p->funcstate) {
    e = (*v)(((PyObject *)p->funcstate), a); if (e) return e;
  }
  if (p->code_config) {
    e = (*v)(p->code_config, a); if (e) return e;
  }
  if (p->last_pos) {
    e = (*v)(p->last_pos, a); if (e) return e;
  }
  if (p->last_marked_pos) {
    e = (*v)(p->last_marked_pos, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_CCodeWriter(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *)o;
  tmp = ((PyObject*)p->buffer);
  p->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->pyclass_stack);
  p->pyclass_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->globalstate);
  p->globalstate = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->funcstate);
  p->funcstate = ((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->code_config);
  p->code_config = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_pos);
  p->last_pos = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->last_marked_pos);
  p->last_marked_pos = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_buffer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_6buffer_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_pyclass_stack(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13pyclass_stack_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_globalstate(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11globalstate_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_funcstate(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9funcstate_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_call_level(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11CCodeWriter_call_level(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_10call_level_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_CCodeWriter[] = {
  {"create_new", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_3create_new, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"set_global_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state, METH_O, 0},
  {"copyto", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_7copyto, METH_O, 0},
  {"getvalue", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue, METH_NOARGS, 0},
  {"insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_15insertion_point, METH_NOARGS, 0},
  {"new_writer", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_17new_writer, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_16new_writer},
  {"insert", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_19insert, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_18insert},
  {"label_counter", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_21label_counter, METH_NOARGS, 0},
  {"return_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_23return_label, METH_NOARGS, 0},
  {"error_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_25error_label, METH_NOARGS, 0},
  {"labels_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_27labels_used, METH_NOARGS, 0},
  {"continue_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_29continue_label, METH_NOARGS, 0},
  {"break_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_31break_label, METH_NOARGS, 0},
  {"return_from_error_cleanup_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_33return_from_error_cleanup_label, METH_NOARGS, 0},
  {"yield_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_35yield_labels, METH_NOARGS, 0},
  {"label_interceptor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_37label_interceptor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_36label_interceptor},
  {"new_label", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_40new_label, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"new_error_label", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_42new_error_label, METH_VARARGS|METH_KEYWORDS, 0},
  {"new_yield_label", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_44new_yield_label, METH_VARARGS|METH_KEYWORDS, 0},
  {"get_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_46get_loop_labels, METH_NOARGS, 0},
  {"set_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_48set_loop_labels, METH_O, 0},
  {"new_loop_labels", (PyCFunction)(void(*)(void))(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_50new_loop_labels, METH_VARARGS|METH_KEYWORDS, 0},
  {"get_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_52get_all_labels, METH_NOARGS, 0},
  {"set_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_54set_all_labels, METH_O, 0},
  {"all_new_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_56all_new_labels, METH_NOARGS, 0},
  {"use_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_58use_label, METH_O, 0},
  {"label_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_60label_used, METH_O, 0},
  {"enter_cfunc_scope", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_62enter_cfunc_scope, METH_O, 0},
  {"exit_cfunc_scope", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_64exit_cfunc_scope, METH_NOARGS, 0},
  {"start_initcfunc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_66start_initcfunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_65start_initcfunc},
  {"start_slotfunc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_68start_slotfunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_py_int", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_70get_py_int, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_py_float", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_72get_py_float, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_py_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_74get_py_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_76get_string_const, METH_O, 0},
  {"get_pyunicode_ptr_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_78get_pyunicode_ptr_const, METH_O, 0},
  {"get_py_string_const", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_80get_py_string_const, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"get_py_codeobj_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_82get_py_codeobj_const, METH_O, 0},
  {"get_argument_default_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_84get_argument_default_const, METH_O, 0},
  {"intern", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_86intern, METH_O, 0},
  {"intern_identifier", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_88intern_identifier, METH_O, 0},
  {"get_cached_constants_writer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_90get_cached_constants_writer, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"name_in_module_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_92name_in_module_state, METH_O, 0},
  {"name_in_main_c_code_module_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_94name_in_main_c_code_module_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"name_in_slot_module_state", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_96name_in_slot_module_state, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"namespace_cname_in_module_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_98namespace_cname_in_module_state, METH_O, 0},
  {"typeptr_cname_in_module_state", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_100typeptr_cname_in_module_state, METH_O, 0},
  {"mark_pos", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_104mark_pos, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"write_trace_line", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_106write_trace_line, METH_O, 0},
  {"put_or_include", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_110put_or_include, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_code_here", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_114put_code_here, METH_O, 0},
  {"begin_block", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_116begin_block, METH_NOARGS, 0},
  {"end_block", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_118end_block, METH_NOARGS, 0},
  {"get_py_version_hex", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_120get_py_version_hex, METH_O, 0},
  {"put_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_122put_label, METH_O, 0},
  {"put_goto", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_124put_goto, METH_O, 0},
  {"put_var_declaration", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_declaration, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_temp_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_128put_temp_declarations, METH_O, 0},
  {"put_generated_by", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_130put_generated_by, METH_NOARGS, 0},
  {"put_h_guard", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_132put_h_guard, METH_O, 0},
  {"unlikely", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_134unlikely, METH_O, 0},
  {"build_function_modifiers", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_136build_function_modifiers, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"entry_as_pyobject", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_138entry_as_pyobject, METH_O, 0},
  {"as_pyobject", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_140as_pyobject, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_gotref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_142put_gotref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_giveref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_144put_giveref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_xgiveref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_146put_xgiveref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_xgotref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_148put_xgotref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_incref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_150put_incref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_xincref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_152put_xincref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_decref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_154put_decref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_xdecref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_156put_xdecref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_decref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_158put_decref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_xdecref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_160put_xdecref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_decref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_162put_decref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_xdecref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_164put_xdecref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_incref_memoryviewslice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_incref_memoryviewslice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_168put_var_incref_memoryviewslice, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_gotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_170put_var_gotref, METH_O, 0},
  {"put_var_giveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_172put_var_giveref, METH_O, 0},
  {"put_var_xgotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_174put_var_xgotref, METH_O, 0},
  {"put_var_xgiveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_176put_var_xgiveref, METH_O, 0},
  {"put_var_incref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_178put_var_incref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_xincref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_180put_var_xincref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_decref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_182put_var_decref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_xdecref", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_184put_var_xdecref, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_decref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_186put_var_decref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_decref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_188put_var_decref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_xdecref_set", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_190put_var_xdecref_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_xdecref_clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_192put_var_xdecref_clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_decrefs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_194put_var_decrefs, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_var_xdecrefs", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_196put_var_xdecrefs, METH_O, 0},
  {"put_var_xdecrefs_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_198put_var_xdecrefs_clear, METH_O, 0},
  {"put_make_object_deferred", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_200put_make_object_deferred, METH_O, 0},
  {"put_init_to_py_none", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_202put_init_to_py_none, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_init_var_to_py_none", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_204put_init_var_to_py_none, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_pymethoddef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_206put_pymethoddef, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_pymethoddef_wrapper", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_208put_pymethoddef_wrapper, METH_O, 0},
  {"use_fast_gil_utility_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_210use_fast_gil_utility_code, METH_NOARGS, 0},
  {"put_ensure_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_212put_ensure_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_211put_ensure_gil},
  {"put_release_ensured_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_214put_release_ensured_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_213put_release_ensured_gil},
  {"put_acquire_freethreading_lock", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_216put_acquire_freethreading_lock, METH_NOARGS, 0},
  {"put_release_freethreading_lock", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_218put_release_freethreading_lock, METH_NOARGS, 0},
  {"put_acquire_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_220put_acquire_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_219put_acquire_gil},
  {"put_release_gil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_222put_release_gil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_221put_release_gil},
  {"declare_gilstate", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_224declare_gilstate, METH_NOARGS, 0},
  {"put_error_if_neg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_226put_error_if_neg, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_error_if_unbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_228put_error_if_unbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"set_error_info", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_230set_error_info, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"error_goto", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_232error_goto, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"error_goto_if", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_234error_goto_if, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"error_goto_if_null", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_236error_goto_if_null, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"error_goto_if_neg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_238error_goto_if_neg, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"error_goto_if_PyErr", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_240error_goto_if_PyErr, METH_O, 0},
  {"lookup_filename", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_242lookup_filename, METH_O, 0},
  {"put_declare_refcount_context", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_244put_declare_refcount_context, METH_NOARGS, 0},
  {"put_setup_refcount_context", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_246put_setup_refcount_context, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_finish_refcount_context", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_248put_finish_refcount_context, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_add_traceback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_250put_add_traceback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_249put_add_traceback},
  {"put_unraisable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_252put_unraisable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_251put_unraisable},
  {"is_tracing", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_254is_tracing, METH_NOARGS, 0},
  {"pos_to_offset", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_256pos_to_offset, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_255pos_to_offset},
  {"put_trace_declarations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_258put_trace_declarations, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_frame_init", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_260put_trace_frame_init, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_start", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_262put_trace_start, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_exit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_264put_trace_exit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_yield", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_266put_trace_yield, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_resume", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_268put_trace_resume, METH_O, 0},
  {"put_trace_exception", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_270put_trace_exception, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_exception_propagating", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_272put_trace_exception_propagating, METH_NOARGS, 0},
  {"put_trace_exception_handled", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_274put_trace_exception_handled, METH_O, 0},
  {"put_trace_unwind", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_276put_trace_unwind, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_stopiteration", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_278put_trace_stopiteration, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_trace_return", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_280put_trace_return, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_cpp_placement_new", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_282put_cpp_placement_new, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"putln_openmp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_284putln_openmp, METH_O, 0},
  {"undef_builtin_expect", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_286undef_builtin_expect, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_285undef_builtin_expect},
  {"redef_builtin_expect", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_288redef_builtin_expect, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_CCodeWriter[] = {
  {"buffer", __pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_buffer, 0, 0, 0},
  {"pyclass_stack", __pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_pyclass_stack, 0, 0, 0},
  {"globalstate", __pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_globalstate, 0, 0, 0},
  {"funcstate", __pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_funcstate, 0, 0, 0},
  {"call_level", __pyx_getprop_6Cython_8Compiler_4Code_11CCodeWriter_call_level, __pyx_setprop_6Cython_8Compiler_4Code_11CCodeWriter_call_level, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_CCodeWriter_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_CCodeWriter},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Utility class to output C code.\n\n    When creating an insertion point one must care about the state that is\n    kept:\n    - formatting state (level, bol) is cloned and used in insertion points\n      as well\n    - labels, temps, exc_vars: One must construct a scope in which these can\n      exist by calling enter_cfunc_scope/exit_cfunc_scope (these are for\n      sanity checking and forward compatibility). Created insertion points\n      looses this scope and cannot access it.\n    - marker: Not copied to insertion point\n    - filename_table, filename_list, input_file_contents: All codewriters\n      coming from the same root share the same instances simultaneously.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_CCodeWriter},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_CCodeWriter},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_CCodeWriter},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_CCodeWriter},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_CCodeWriter},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_CCodeWriter_spec = {
  "Cython.Compiler.Code.CCodeWriter",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_CCodeWriter_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_CCodeWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""CCodeWriter", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_CCodeWriter, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Utility class to output C code.\n\n    When creating an insertion point one must care about the state that is\n    kept:\n    - formatting state (level, bol) is cloned and used in insertion points\n      as well\n    - labels, temps, exc_vars: One must construct a scope in which these can\n      exist by calling enter_cfunc_scope/exit_cfunc_scope (these are for\n      sanity checking and forward compatibility). Created insertion points\n      looses this scope and cannot access it.\n    - marker: Not copied to insertion point\n    - filename_table, filename_list, input_file_contents: All codewriters\n      coming from the same root share the same instances simultaneously.\n    "), /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_CCodeWriter, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_CCodeWriter, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_CCodeWriter, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_CCodeWriter, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_CCodeWriter, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyrexCodeWriter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)o);
  p->f = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyrexCodeWriter(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyrexCodeWriter) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->f);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_PyrexCodeWriter(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->f) {
    e = (*v)(p->f, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_PyrexCodeWriter(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)o;
  tmp = ((PyObject*)p->f);
  p->f = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_f(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_1__get__(o);
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_level(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level_1__get__(o);
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_PyrexCodeWriter[] = {
  {"putln", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_3putln, METH_O, 0},
  {"indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5indent, METH_NOARGS, 0},
  {"dedent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_7dedent, METH_NOARGS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_PyrexCodeWriter[] = {
  {"f", __pyx_getprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_f, 0, 0, 0},
  {"level", __pyx_getprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_level, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_PyrexCodeWriter},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_PyrexCodeWriter},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_PyrexCodeWriter},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_PyrexCodeWriter},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_PyrexCodeWriter},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_PyrexCodeWriter},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter_spec = {
  "Cython.Compiler.Code.PyrexCodeWriter",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""PyrexCodeWriter", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyrexCodeWriter, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_PyrexCodeWriter, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_PyrexCodeWriter, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_PyrexCodeWriter, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_PyrexCodeWriter, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_PyrexCodeWriter, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_PyxCodeWriter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)o);
  p->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)Py_None); Py_INCREF(Py_None);
  p->context = Py_None; Py_INCREF(Py_None);
  p->encoding = Py_None; Py_INCREF(Py_None);
  p->_insertion_points = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyxCodeWriter(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyxCodeWriter) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->buffer);
  Py_CLEAR(p->context);
  Py_CLEAR(p->encoding);
  Py_CLEAR(p->_insertion_points);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_PyxCodeWriter(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->buffer) {
    e = (*v)(((PyObject *)p->buffer), a); if (e) return e;
  }
  if (p->context) {
    e = (*v)(p->context, a); if (e) return e;
  }
  if (p->encoding) {
    e = (*v)(p->encoding, a); if (e) return e;
  }
  if (p->_insertion_points) {
    e = (*v)(p->_insertion_points, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_PyxCodeWriter(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *p = (struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter *)o;
  tmp = ((PyObject*)p->buffer);
  p->buffer = ((struct __pyx_obj_6Cython_12StringIOTree_StringIOTree *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->context);
  p->context = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->encoding);
  p->encoding = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_insertion_points);
  p->_insertion_points = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_sq_item_6Cython_8Compiler_4Code_PyxCodeWriter(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyLong_FromSsize_t(i); if(!x) return 0;
  #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  #else
  r = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript))(o, x);
  #endif
  Py_DECREF(x);
  return r;
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyxCodeWriter_buffer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13PyxCodeWriter_buffer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_6buffer_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13PyxCodeWriter_context(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13PyxCodeWriter_context(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7context_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_PyxCodeWriter[] = {
  {"indent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"dedent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"indenter", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter, METH_O, __pyx_doc_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter},
  {"empty", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_10empty, METH_NOARGS, 0},
  {"getvalue", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_12getvalue, METH_NOARGS, 0},
  {"putln", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_14putln, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"put_chunk", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_16put_chunk, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_18insertion_point, METH_NOARGS, 0},
  {"reset", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_20reset, METH_NOARGS, 0},
  {"named_insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_22named_insertion_point, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_PyxCodeWriter[] = {
  {"buffer", __pyx_getprop_6Cython_8Compiler_4Code_13PyxCodeWriter_buffer, __pyx_setprop_6Cython_8Compiler_4Code_13PyxCodeWriter_buffer, 0, 0},
  {"context", __pyx_getprop_6Cython_8Compiler_4Code_13PyxCodeWriter_context, __pyx_setprop_6Cython_8Compiler_4Code_13PyxCodeWriter_context, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code_PyxCodeWriter},
  {Py_sq_item, (void *)__pyx_sq_item_6Cython_8Compiler_4Code_PyxCodeWriter},
  {Py_mp_subscript, (void *)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_24__getitem__},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Can be used for writing out some Cython code.\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code_PyxCodeWriter},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code_PyxCodeWriter},
  {Py_tp_methods, (void *)__pyx_methods_6Cython_8Compiler_4Code_PyxCodeWriter},
  {Py_tp_getset, (void *)__pyx_getsets_6Cython_8Compiler_4Code_PyxCodeWriter},
  {Py_tp_init, (void *)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code_PyxCodeWriter},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter_spec = {
  "Cython.Compiler.Code.PyxCodeWriter",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_PyxCodeWriter = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_6Cython_8Compiler_4Code_PyxCodeWriter, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_PyxCodeWriter = {
  0, /*mp_length*/
  __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_24__getitem__, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""PyxCodeWriter", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_PyxCodeWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_PyxCodeWriter, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_PyxCodeWriter, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_PyxCodeWriter, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("\n    Can be used for writing out some Cython code.\n    "), /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code_PyxCodeWriter, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_PyxCodeWriter, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_6Cython_8Compiler_4Code_PyxCodeWriter, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_6Cython_8Compiler_4Code_PyxCodeWriter, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_PyxCodeWriter, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_defaults(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 1);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_defaults(PyObject *o) {
  struct __pyx_defaults *p = (struct __pyx_defaults *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_defaults) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->arg0);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_defaults(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_defaults *p = (struct __pyx_defaults *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->arg0) {
    e = (*v)(p->arg0, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_defaults(PyObject *o) {
  PyObject* tmp;
  struct __pyx_defaults *p = (struct __pyx_defaults *)o;
  tmp = ((PyObject*)p->arg0);
  p->arg0 = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_defaults_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_defaults},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_defaults},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code___pyx_defaults},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_defaults},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_defaults_spec = {
  "Cython.Compiler.Code.__pyx_defaults",
  sizeof(struct __pyx_defaults),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_defaults_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_defaults = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_defaults", /*tp_name*/
  sizeof(struct __pyx_defaults), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_defaults, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_defaults, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_defaults, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_defaults, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_impls);
  Py_CLEAR(p->__pyx_v_prepend);
  Py_CLEAR(p->__pyx_v_protos);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_impls) {
    e = (*v)(p->__pyx_v_impls, a); if (e) return e;
  }
  if (p->__pyx_v_prepend) {
    e = (*v)(p->__pyx_v_prepend, a); if (e) return e;
  }
  if (p->__pyx_v_protos) {
    e = (*v)(p->__pyx_v_protos, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string *)o;
  tmp = ((PyObject*)p->__pyx_v_impls);
  p->__pyx_v_impls = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_prepend);
  p->__pyx_v_prepend = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_protos);
  p->__pyx_v_protos = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct__load_as_string",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct__load_as_string", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_self);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ *)o;
  tmp = ((PyObject*)p->__pyx_v_self);
  p->__pyx_v_self = ((struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init___slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init___spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_1___init__",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init___slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_1___init__", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_part);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_part) {
    e = (*v)(p->__pyx_v_part, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_2_genexpr",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_2_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v__last_macro_processor);
  Py_CLEAR(p->__pyx_v_is_module_specific);
  Py_CLEAR(p->__pyx_v_last_processor);
  Py_CLEAR(p->__pyx_v_macro_names);
  Py_CLEAR(p->__pyx_v_regex);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v__last_macro_processor) {
    e = (*v)(p->__pyx_v__last_macro_processor, a); if (e) return e;
  }
  if (p->__pyx_v_is_module_specific) {
    e = (*v)(p->__pyx_v_is_module_specific, a); if (e) return e;
  }
  if (p->__pyx_v_last_processor) {
    e = (*v)(p->__pyx_v_last_processor, a); if (e) return e;
  }
  if (p->__pyx_v_macro_names) {
    e = (*v)(p->__pyx_v_macro_names, a); if (e) return e;
  }
  if (p->__pyx_v_regex) {
    e = (*v)(p->__pyx_v_regex, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *)o;
  tmp = ((PyObject*)p->__pyx_v__last_macro_processor);
  p->__pyx_v__last_macro_processor = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_is_module_specific);
  p->__pyx_v_is_module_specific = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_last_processor);
  p->__pyx_v_last_processor = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_macro_names);
  p->__pyx_v_macro_names = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_regex);
  p->__pyx_v_regex = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_3_add_macro_processor",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_3_add_macro_processor", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_func);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_func) {
    e = (*v)(p->__pyx_v_func, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor *)o;
  tmp = ((PyObject*)p->__pyx_outer_scope);
  p->__pyx_outer_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_func);
  p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_4_build_processor",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_4_build_processor", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_line);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_line) {
    e = (*v)(p->__pyx_v_line, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_5_genexpr",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_5_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_attribute_of);
  Py_CLEAR(p->__pyx_v_name);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_attribute_of) {
    e = (*v)(p->__pyx_v_attribute_of, a); if (e) return e;
  }
  if (p->__pyx_v_name) {
    e = (*v)(p->__pyx_v_name, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property *)o;
  tmp = ((PyObject*)p->__pyx_v_attribute_of);
  p->__pyx_v_attribute_of = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_name);
  p->__pyx_v_name = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property},
  {Py_tp_clear, (void *)__pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_6_funccontext_property",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_6_funccontext_property", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_label);
  Py_CLEAR(p->__pyx_v_new_labels);
  Py_CLEAR(p->__pyx_v_orig_label);
  Py_CLEAR(p->__pyx_v_orig_labels);
  Py_CLEAR(p->__pyx_v_pos);
  Py_CLEAR(p->__pyx_v_self);
  Py_CLEAR(p->__pyx_v_skip_to_label);
  Py_CLEAR(p->__pyx_v_trace);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_label) {
    e = (*v)(p->__pyx_v_label, a); if (e) return e;
  }
  if (p->__pyx_v_new_labels) {
    e = (*v)(p->__pyx_v_new_labels, a); if (e) return e;
  }
  if (p->__pyx_v_orig_label) {
    e = (*v)(p->__pyx_v_orig_label, a); if (e) return e;
  }
  if (p->__pyx_v_orig_labels) {
    e = (*v)(p->__pyx_v_orig_labels, a); if (e) return e;
  }
  if (p->__pyx_v_pos) {
    e = (*v)(p->__pyx_v_pos, a); if (e) return e;
  }
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  if (p->__pyx_v_skip_to_label) {
    e = (*v)(p->__pyx_v_skip_to_label, a); if (e) return e;
  }
  if (p->__pyx_v_trace) {
    e = (*v)(p->__pyx_v_trace, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_7_label_interceptor",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_7_label_interceptor", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter[--__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_line);
  Py_CLEAR(p->__pyx_v_self);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter))))
  {
    __pyx_mstate_global->__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter[__pyx_mstate_global->__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_line) {
    e = (*v)(p->__pyx_v_line, a); if (e) return e;
  }
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter},
  {Py_tp_new, (void *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter},
  {0, 0},
};
static PyType_Spec __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter_spec = {
  "Cython.Compiler.Code.__pyx_scope_struct_8_indenter",
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter_slots,
};
#else

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.""__pyx_scope_struct_8_indenter", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};
/* #### Code section: initfunc_declarations ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate); /*proto*/
/* #### Code section: init_module ### */

static int __Pyx_modinit_global_init_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __pyx_v_6Cython_8Compiler_4Code_os = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_re = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_operator = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_textwrap = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_Template = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_Naming = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_Options = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_StringEncoding = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_Utils = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_SourceDescriptor = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_DebugFlags = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_defaultdict = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_closing = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_partial = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_wraps = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_zlib_compress = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_bz2_compress = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_zstd_compress = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_special_py_methods = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_cleanup_level_for_type_prefix = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_replace_identifier = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_find_alphanums = Py_None; Py_INCREF(Py_None);
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
  /*--- Type init code ---*/
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode)) __PYX_ERR(0, 401, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode) < (0)) __PYX_ERR(0, 401, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode = &__pyx_type_6Cython_8Compiler_4Code_AbstractUtilityCode;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode) < (0)) __PYX_ERR(0, 401, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AbstractUtilityCode, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode) < (0)) __PYX_ERR(0, 401, __pyx_L1_error)
  __pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCodeBase = &__pyx_vtable_6Cython_8Compiler_4Code_UtilityCodeBase;
  __pyx_vtable_6Cython_8Compiler_4Code_UtilityCodeBase.format_code = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCodeBase *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code *__pyx_optional_args))__pyx_f_6Cython_8Compiler_4Code_15UtilityCodeBase_format_code;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase)) __PYX_ERR(0, 415, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase) < (0)) __PYX_ERR(0, 415, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase = &__pyx_type_6Cython_8Compiler_4Code_UtilityCodeBase;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase->tp_base = __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase) < (0)) __PYX_ERR(0, 415, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCodeBase) < (0)) __PYX_ERR(0, 415, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase) < (0)) __PYX_ERR(0, 415, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase) < (0)) __PYX_ERR(0, 415, __pyx_L1_error)
  __pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCode = &__pyx_vtable_6Cython_8Compiler_4Code_UtilityCode;
  __pyx_vtable_6Cython_8Compiler_4Code_UtilityCode.__pyx_base = *__pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCodeBase;
  __pyx_vtable_6Cython_8Compiler_4Code_UtilityCode.none_or_sub = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_UtilityCode *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_11UtilityCode_none_or_sub;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_UtilityCode_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode)) __PYX_ERR(0, 699, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_UtilityCode_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode) < (0)) __PYX_ERR(0, 699, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode = &__pyx_type_6Cython_8Compiler_4Code_UtilityCode;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode->tp_base = __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode) < (0)) __PYX_ERR(0, 699, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_vtabptr_6Cython_8Compiler_4Code_UtilityCode) < (0)) __PYX_ERR(0, 699, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode) < (0)) __PYX_ERR(0, 699, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_UtilityCode, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode) < (0)) __PYX_ERR(0, 699, __pyx_L1_error)
  __pyx_vtabptr_6Cython_8Compiler_4Code_FunctionState = &__pyx_vtable_6Cython_8Compiler_4Code_FunctionState;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.new_label = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label *__pyx_optional_args))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.get_loop_labels = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_loop_labels;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.set_loop_labels = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_loop_labels;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.get_all_labels = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_get_all_labels;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.set_all_labels = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_set_all_labels;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.start_collecting_temps = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_start_collecting_temps;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.stop_collecting_temps = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_stop_collecting_temps;
  __pyx_vtable_6Cython_8Compiler_4Code_FunctionState.temps_in_use = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_13FunctionState_temps_in_use;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_FunctionState_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState)) __PYX_ERR(0, 1106, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_FunctionState_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState) < (0)) __PYX_ERR(0, 1106, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState = &__pyx_type_6Cython_8Compiler_4Code_FunctionState;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState) < (0)) __PYX_ERR(0, 1106, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_vtabptr_6Cython_8Compiler_4Code_FunctionState) < (0)) __PYX_ERR(0, 1106, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState) < (0)) __PYX_ERR(0, 1106, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_FunctionState, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState) < (0)) __PYX_ERR(0, 1106, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_PyObjectConst_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst)) __PYX_ERR(0, 1388, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_PyObjectConst_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst) < (0)) __PYX_ERR(0, 1388, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst = &__pyx_type_6Cython_8Compiler_4Code_PyObjectConst;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst) < (0)) __PYX_ERR(0, 1388, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PyObjectConst, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst) < (0)) __PYX_ERR(0, 1388, __pyx_L1_error)
  __pyx_vtabptr_6Cython_8Compiler_4Code_StringConst = &__pyx_vtable_6Cython_8Compiler_4Code_StringConst;
  __pyx_vtable_6Cython_8Compiler_4Code_StringConst.get_py_string_const = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const *__pyx_optional_args))__pyx_f_6Cython_8Compiler_4Code_11StringConst_get_py_string_const;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_StringConst_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst)) __PYX_ERR(0, 1406, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_StringConst_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst) < (0)) __PYX_ERR(0, 1406, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst = &__pyx_type_6Cython_8Compiler_4Code_StringConst;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst) < (0)) __PYX_ERR(0, 1406, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst, __pyx_vtabptr_6Cython_8Compiler_4Code_StringConst) < (0)) __PYX_ERR(0, 1406, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst) < (0)) __PYX_ERR(0, 1406, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_StringConst, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_StringConst) < (0)) __PYX_ERR(0, 1406, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_PyStringConst_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst)) __PYX_ERR(0, 1472, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_PyStringConst_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst) < (0)) __PYX_ERR(0, 1472, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst = &__pyx_type_6Cython_8Compiler_4Code_PyStringConst;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst) < (0)) __PYX_ERR(0, 1472, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PyStringConst, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyStringConst) < (0)) __PYX_ERR(0, 1472, __pyx_L1_error)
  __pyx_vtabptr_6Cython_8Compiler_4Code_CCodeWriter = &__pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.write = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_write;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter._write_lines = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_lines;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter._write_to_buffer = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__write_to_buffer;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.put_multilines = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_multilines;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.put = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.put_safe = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_put_safe;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.putln = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11CCodeWriter_putln *__pyx_optional_args))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_putln;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.emit_marker = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_emit_marker;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter._build_marker = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *, PyObject *))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter__build_marker;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.increase_indent = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_increase_indent;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.decrease_indent = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_decrease_indent;
  __pyx_vtable_6Cython_8Compiler_4Code_CCodeWriter.indent = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_4Code_CCodeWriter *))__pyx_f_6Cython_8Compiler_4Code_11CCodeWriter_indent;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_CCodeWriter_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter)) __PYX_ERR(0, 2541, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_CCodeWriter_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter) < (0)) __PYX_ERR(0, 2541, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter = &__pyx_type_6Cython_8Compiler_4Code_CCodeWriter;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter) < (0)) __PYX_ERR(0, 2541, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_vtabptr_6Cython_8Compiler_4Code_CCodeWriter) < (0)) __PYX_ERR(0, 2541, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter) < (0)) __PYX_ERR(0, 2541, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CCodeWriter, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter) < (0)) __PYX_ERR(0, 2541, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter)) __PYX_ERR(0, 3592, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter) < (0)) __PYX_ERR(0, 3592, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter = &__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter) < (0)) __PYX_ERR(0, 3592, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PyrexCodeWriter, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter) < (0)) __PYX_ERR(0, 3592, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter)) __PYX_ERR(0, 3610, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter) < (0)) __PYX_ERR(0, 3610, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter = &__pyx_type_6Cython_8Compiler_4Code_PyxCodeWriter;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter) < (0)) __PYX_ERR(0, 3610, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter, (PyObject *) __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter) < (0)) __PYX_ERR(0, 3610, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_defaults_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults)) __PYX_ERR(0, 905, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_defaults_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults = &__pyx_type_6Cython_8Compiler_4Code___pyx_defaults;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string)) __PYX_ERR(0, 641, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string) < (0)) __PYX_ERR(0, 641, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string) < (0)) __PYX_ERR(0, 641, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__load_as_string->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init___spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__)) __PYX_ERR(0, 721, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init___spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__) < (0)) __PYX_ERR(0, 721, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__ = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__) < (0)) __PYX_ERR(0, 721, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1___init__->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr)) __PYX_ERR(0, 745, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 745, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(0, 745, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor)) __PYX_ERR(0, 905, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_add_macro_processor->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor)) __PYX_ERR(0, 910, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor) < (0)) __PYX_ERR(0, 910, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor) < (0)) __PYX_ERR(0, 910, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_build_processor->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr)) __PYX_ERR(0, 955, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 955, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(0, 955, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_5_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property)) __PYX_ERR(0, 2520, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property) < (0)) __PYX_ERR(0, 2520, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property) < (0)) __PYX_ERR(0, 2520, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_6_funccontext_property->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor)) __PYX_ERR(0, 2674, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor) < (0)) __PYX_ERR(0, 2674, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor) < (0)) __PYX_ERR(0, 2674, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_7_label_interceptor->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter)) __PYX_ERR(0, 3630, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter_spec, __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter) < (0)) __PYX_ERR(0, 3630, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter) < (0)) __PYX_ERR(0, 3630, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter->tp_dictoffset && __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_8_indenter->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __pyx_t_1 = PyImport_ImportModule("Cython.StringIOTree"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_6Cython_12StringIOTree_StringIOTree = __Pyx_ImportType_3_2_4(__pyx_t_1, "Cython.StringIOTree", "StringIOTree",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree),
  #else
  sizeof(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(struct __pyx_obj_6Cython_12StringIOTree_StringIOTree),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_6Cython_12StringIOTree_StringIOTree) __PYX_ERR(2, 5, __pyx_L1_error)
  __pyx_vtabptr_6Cython_12StringIOTree_StringIOTree = (struct __pyx_vtabstruct_6Cython_12StringIOTree_StringIOTree*)__Pyx_GetVtable(__pyx_mstate->__pyx_ptype_6Cython_12StringIOTree_StringIOTree); if (unlikely(!__pyx_vtabptr_6Cython_12StringIOTree_StringIOTree)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_variable_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  {
    __pyx_t_1 = PyImport_ImportModule("Cython.StringIOTree"); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    const char * __pyx_import_signature = __Pyx_PyBytes_AsString(__pyx_mstate_global->__pyx_kp_b_PyObject_StringIO);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (unlikely(!__pyx_import_signature)) __PYX_ERR(0, 1, __pyx_L1_error)
    #endif
    const char * __pyx_import_name = __pyx_import_signature + 11;
    void **const __pyx_import_pointers[] = {(void **)&__pyx_vp_6Cython_12StringIOTree_StringIO, (void **) NULL};
    void **const *__pyx_import_pointer = __pyx_import_pointers;
    const char *__pyx_import_current_signature = __pyx_import_signature;
    while (*__pyx_import_pointer) {
      if (__Pyx_ImportVoidPtr_3_2_4(__pyx_t_1, __pyx_import_name, *__pyx_import_pointer, __pyx_import_current_signature) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
      ++__pyx_import_pointer;
      __pyx_import_name = strchr(__pyx_import_name, '\0') + 1;
      __pyx_import_signature = strchr(__pyx_import_signature, '\0') + 1;
      if (*__pyx_import_signature != '\0') __pyx_import_current_signature = __pyx_import_signature;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_Code(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_Code},
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  {Py_mod_gil, __Pyx_FREETHREADING_COMPATIBLE},
  #endif
  #if PY_VERSION_HEX >= 0x030C0000 && CYTHON_USE_MODULE_STATE
  {Py_mod_multiple_interpreters, Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},
  #endif
  {0, NULL}
};
#endif

#ifdef __cplusplus
namespace {
  struct PyModuleDef __pyx_moduledef =
  #else
  static struct PyModuleDef __pyx_moduledef =
  #endif
  {
      PyModuleDef_HEAD_INIT,
      "Code",
      0, /* m_doc */
    #if CYTHON_USE_MODULE_STATE
      sizeof(__pyx_mstatetype), /* m_size */
    #else
      (CYTHON_PEP489_MULTI_PHASE_INIT) ? 0 : -1, /* m_size */
    #endif
      __pyx_methods /* m_methods */,
    #if CYTHON_PEP489_MULTI_PHASE_INIT
      __pyx_moduledef_slots, /* m_slots */
    #else
      NULL, /* m_reload */
    #endif
    #if CYTHON_USE_MODULE_STATE
      __pyx_m_traverse, /* m_traverse */
      __pyx_m_clear, /* m_clear */
      NULL /* m_free */
    #else
      NULL, /* m_traverse */
      NULL, /* m_clear */
      NULL /* m_free */
    #endif
  };
  #ifdef __cplusplus
} /* anonymous namespace */
#endif

/* PyModInitFuncType */
#ifndef CYTHON_NO_PYINIT_EXPORT
  #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#else
  #ifdef __cplusplus
  #define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
  #else
  #define __Pyx_PyMODINIT_FUNC PyObject *
  #endif
#endif

__Pyx_PyMODINIT_FUNC PyInit_Code(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_Code(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
/* ModuleCreationPEP489 */
#if CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x03090000\
      || ((defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)) && __PYX_LIMITED_VERSION_HEX < 0x030A0000))
static PY_INT64_T __Pyx_GetCurrentInterpreterId(void) {
    {
        PyObject *module = PyImport_ImportModule("_interpreters"); // 3.13+ I think
        if (!module) {
            PyErr_Clear(); // just try the 3.8-3.12 version
            module = PyImport_ImportModule("_xxsubinterpreters");
            if (!module) goto bad;
        }
        PyObject *current = PyObject_CallMethod(module, "get_current", NULL);
        Py_DECREF(module);
        if (!current) goto bad;
        if (PyTuple_Check(current)) {
            PyObject *new_current = PySequence_GetItem(current, 0);
            Py_DECREF(current);
            current = new_current;
            if (!new_current) goto bad;
        }
        long long as_c_int = PyLong_AsLongLong(current);
        Py_DECREF(current);
        return as_c_int;
    }
  bad:
    PySys_WriteStderr("__Pyx_GetCurrentInterpreterId failed. Try setting the C define CYTHON_PEP489_MULTI_PHASE_INIT=0\n");
    return -1;
}
#endif
#if !CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
    static PY_INT64_T main_interpreter_id = -1;
#if CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
    PY_INT64_T current_id = GraalPyInterpreterState_GetIDFromThreadState(PyThreadState_Get());
#elif CYTHON_COMPILING_IN_GRAAL
    PY_INT64_T current_id = PyInterpreterState_GetIDFromThreadState(PyThreadState_Get());
#elif CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x03090000\
      || ((defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)) && __PYX_LIMITED_VERSION_HEX < 0x030A0000))
    PY_INT64_T current_id = __Pyx_GetCurrentInterpreterId();
#elif CYTHON_COMPILING_IN_LIMITED_API
    PY_INT64_T current_id = PyInterpreterState_GetID(PyInterpreterState_Get());
#else
    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
#endif
    if (unlikely(current_id == -1)) {
        return -1;
    }
    if (main_interpreter_id == -1) {
        main_interpreter_id = current_id;
        return 0;
    } else if (unlikely(main_interpreter_id != current_id)) {
        PyErr_SetString(
            PyExc_ImportError,
            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
        return -1;
    }
    return 0;
}
#endif
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none)
{
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        if (allow_none || value != Py_None) {
            result = PyDict_SetItemString(moddict, to_name, value);
        }
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    CYTHON_UNUSED_VAR(def);
    #if !CYTHON_USE_MODULE_STATE
    if (__Pyx_check_single_interpreter())
        return NULL;
    #endif
    if (__pyx_m)
        return __Pyx_NewRef(__pyx_m);
    modname = PyObject_GetAttrString(spec, "name");
    if (unlikely(!modname)) goto bad;
    module = PyModule_NewObject(modname);
    Py_DECREF(modname);
    if (unlikely(!module)) goto bad;
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static CYTHON_SMALL_CODE int __pyx_pymod_exec_Code(PyObject *__pyx_pyinit_module)
#endif
{
  int stringtab_initialized = 0;
  #if CYTHON_USE_MODULE_STATE
  int pystate_addmodule_run = 0;
  #endif
  __pyx_mstatetype *__pyx_mstate = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module 'Code' has already been imported. Re-initialisation is not supported.");
    return -1;
  }
  #else
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_t_1 = __pyx_pyinit_module;
  Py_INCREF(__pyx_t_1);
  #else
  __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #if CYTHON_USE_MODULE_STATE
  {
    int add_module_result = __Pyx_State_AddModule(__pyx_t_1, &__pyx_moduledef);
    __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "Code" pseudovariable */
    if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
    pystate_addmodule_run = 1;
  }
  #else
  __pyx_m = __pyx_t_1;
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  PyUnstable_Module_SetGIL(__pyx_m, Py_MOD_GIL_USED);
  #endif
  __pyx_mstate = __pyx_mstate_global;
  CYTHON_UNUSED_VAR(__pyx_t_1);
  __pyx_mstate->__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_mstate->__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_mstate->__pyx_d);
  __pyx_mstate->__pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_mstate->__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_cython_runtime = __Pyx_PyImport_AddModuleRef("cython_runtime"); if (unlikely(!__pyx_mstate->__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_mstate->__pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /* ImportRefnannyAPI */
  #if CYTHON_REFNANNY
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
  if (!__Pyx_RefNanny) {
    PyErr_Clear();
    __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
    if (!__Pyx_RefNanny)
        Py_FatalError("failed to import 'refnanny' module");
  }
  #endif
  
__Pyx_RefNannySetupContext("PyInit_Code", 0);
  __Pyx_init_runtime_version();
  if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_mstate->__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Library function declarations ---*/
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  stringtab_initialized = 1;
  if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__pyx_module_is_main_Cython__Compiler__Code) {
    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)
  }
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "Cython.Compiler.Code")) {
      if (unlikely((PyDict_SetItemString(modules, "Cython.Compiler.Code", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_CreateCodeObjects(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code(__pyx_mstate);
  (void)__Pyx_modinit_variable_export_code(__pyx_mstate);
  (void)__Pyx_modinit_function_export_code(__pyx_mstate);
  if (unlikely((__Pyx_modinit_type_init_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely((__Pyx_modinit_type_import_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely((__Pyx_modinit_variable_import_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  (void)__Pyx_modinit_function_import_code(__pyx_mstate);
  /*--- Execution code ---*/

  /* "Cython/Compiler/Code.py":14
 *                zlib_compress=object, bz2_compress=object, lzma_compress=object, zstd_compress=object)
 * 
 * import hashlib             # <<<<<<<<<<<<<<
 * import operator
 * import os
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_hashlib, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_hashlib, __pyx_t_2) < (0)) __PYX_ERR(0, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":15
 * 
 * import hashlib
 * import operator             # <<<<<<<<<<<<<<
 * import os
 * import re
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_operator, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_operator);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_operator, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":16
 * import hashlib
 * import operator
 * import os             # <<<<<<<<<<<<<<
 * import re
 * import shutil
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_os, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_os);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":17
 * import operator
 * import os
 * import re             # <<<<<<<<<<<<<<
 * import shutil
 * import textwrap
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_re, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_re);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":18
 * import os
 * import re
 * import shutil             # <<<<<<<<<<<<<<
 * import textwrap
 * from dataclasses import dataclass
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_shutil, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_shutil, __pyx_t_2) < (0)) __PYX_ERR(0, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":19
 * import re
 * import shutil
 * import textwrap             # <<<<<<<<<<<<<<
 * from dataclasses import dataclass
 * from string import Template
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_textwrap, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_textwrap);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_textwrap, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":20
 * import shutil
 * import textwrap
 * from dataclasses import dataclass             # <<<<<<<<<<<<<<
 * from string import Template
 * from functools import partial, wraps
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_dataclass};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_dataclasses, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_dataclass};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_3], __pyx_t_4) < (0)) __PYX_ERR(0, 20, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":21
 * import textwrap
 * from dataclasses import dataclass
 * from string import Template             # <<<<<<<<<<<<<<
 * from functools import partial, wraps
 * from contextlib import closing, contextmanager
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Template};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_string, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Template};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_Template);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_Template, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":22
 * from dataclasses import dataclass
 * from string import Template
 * from functools import partial, wraps             # <<<<<<<<<<<<<<
 * from contextlib import closing, contextmanager
 * from collections import defaultdict
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_partial,__pyx_mstate_global->__pyx_n_u_wraps};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_functools, __pyx_imported_names, 2, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_partial,__pyx_mstate_global->__pyx_n_u_wraps};
    for (__pyx_t_3=0; __pyx_t_3 < 2; __pyx_t_3++) {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_partial);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_partial, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        case 1:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_wraps);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_wraps, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":23
 * from string import Template
 * from functools import partial, wraps
 * from contextlib import closing, contextmanager             # <<<<<<<<<<<<<<
 * from collections import defaultdict
 * 
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_closing,__pyx_mstate_global->__pyx_n_u_contextmanager};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_contextlib, __pyx_imported_names, 2, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_closing,__pyx_mstate_global->__pyx_n_u_contextmanager};
    for (__pyx_t_3=0; __pyx_t_3 < 2; __pyx_t_3++) {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_closing);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_closing, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
        if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_3], __pyx_t_4) < (0)) __PYX_ERR(0, 23, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":24
 * from functools import partial, wraps
 * from contextlib import closing, contextmanager
 * from collections import defaultdict             # <<<<<<<<<<<<<<
 * 
 * from . import Naming
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_defaultdict};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_collections, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_defaultdict};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_defaultdict);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_defaultdict, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":26
 * from collections import defaultdict
 * 
 * from . import Naming             # <<<<<<<<<<<<<<
 * from . import Options
 * from . import DebugFlags
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Naming};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Naming};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_Naming);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":27
 * 
 * from . import Naming
 * from . import Options             # <<<<<<<<<<<<<<
 * from . import DebugFlags
 * from . import StringEncoding
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Options};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Options};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_Options);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":28
 * from . import Naming
 * from . import Options
 * from . import DebugFlags             # <<<<<<<<<<<<<<
 * from . import StringEncoding
 * from .. import Utils
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_DebugFlags};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_DebugFlags};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_DebugFlags);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_DebugFlags, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":29
 * from . import Options
 * from . import DebugFlags
 * from . import StringEncoding             # <<<<<<<<<<<<<<
 * from .. import Utils
 * from .Scanning import SourceDescriptor
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_StringEncoding};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_StringEncoding};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_StringEncoding);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":30
 * from . import DebugFlags
 * from . import StringEncoding
 * from .. import Utils             # <<<<<<<<<<<<<<
 * from .Scanning import SourceDescriptor
 * from ..StringIOTree import StringIOTree
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Utils};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u__9, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Utils};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_Utils);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_Utils, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":31
 * from . import StringEncoding
 * from .. import Utils
 * from .Scanning import SourceDescriptor             # <<<<<<<<<<<<<<
 * from ..StringIOTree import StringIOTree
 * 
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_SourceDescriptor};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_Scanning, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_Compiler_Scanning, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_SourceDescriptor};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_SourceDescriptor);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_SourceDescriptor, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":32
 * from .. import Utils
 * from .Scanning import SourceDescriptor
 * from ..StringIOTree import StringIOTree             # <<<<<<<<<<<<<<
 * 
 * 
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_StringIOTree};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_StringIOTree, __pyx_imported_names, 1, __pyx_mstate_global->__pyx_kp_u_Cython_StringIOTree, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":36
 * 
 * # Set up available compression algorithms for maximum compression.
 * from zlib import compress as zlib_compress             # <<<<<<<<<<<<<<
 * try:
 *     from bz2 import compress as bz2_compress
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_compress};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_zlib, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_2);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_compress};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_zlib_compress);
        __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_zlib_compress, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_4);
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":37
 * # Set up available compression algorithms for maximum compression.
 * from zlib import compress as zlib_compress
 * try:             # <<<<<<<<<<<<<<
 *     from bz2 import compress as bz2_compress
 * except ImportError:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_5, &__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_6);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":38
 * from zlib import compress as zlib_compress
 * try:
 *     from bz2 import compress as bz2_compress             # <<<<<<<<<<<<<<
 * except ImportError:
 *     bz2_compress = None
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_compress};
        __pyx_t_7 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_bz2, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L2_error)
      }
      __pyx_t_2 = __pyx_t_7;
      __Pyx_GOTREF(__pyx_t_2);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_compress};
        __pyx_t_3 = 0; {
          __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L2_error)
          __Pyx_GOTREF(__pyx_t_4);
          switch (__pyx_t_3) {
            case 0:
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_bz2_compress);
            __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_bz2_compress, __pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_4);
            break;
            default:;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":37
 * # Set up available compression algorithms for maximum compression.
 * from zlib import compress as zlib_compress
 * try:             # <<<<<<<<<<<<<<
 *     from bz2 import compress as bz2_compress
 * except ImportError:
*/
    }

    /* "Cython/Compiler/Code.py":42
 *     bz2_compress = None
 * else:
 *     bz2_compress = partial(bz2_compress, compresslevel=9)             # <<<<<<<<<<<<<<
 * #try:
 * #    from lzma import compress as lzma_compress
*/
    /*else:*/ {
      __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_partial);
      __pyx_t_8 = __pyx_v_6Cython_8Compiler_4Code_partial; 
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_6Cython_8Compiler_4Code_bz2_compress};
        __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 42, __pyx_L4_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_compresslevel, __pyx_mstate_global->__pyx_int_9, __pyx_t_10, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 42, __pyx_L4_except_error)
        __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L4_except_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_bz2_compress);
      __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_bz2_compress, __pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_2);
      __pyx_t_2 = 0;
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    goto __pyx_L7_try_end;
    __pyx_L2_error:;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":39
 * try:
 *     from bz2 import compress as bz2_compress
 * except ImportError:             # <<<<<<<<<<<<<<
 *     bz2_compress = None
 * else:
*/
    __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ImportError))));
    if (__pyx_t_11) {
      __Pyx_ErrRestore(0,0,0);

      /* "Cython/Compiler/Code.py":40
 *     from bz2 import compress as bz2_compress
 * except ImportError:
 *     bz2_compress = None             # <<<<<<<<<<<<<<
 * else:
 *     bz2_compress = partial(bz2_compress, compresslevel=9)
*/
      __Pyx_INCREF(Py_None);
      __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_bz2_compress);
      __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_bz2_compress, Py_None);
      __Pyx_GIVEREF(Py_None);
      goto __pyx_L3_exception_handled;
    }
    goto __pyx_L4_except_error;

    /* "Cython/Compiler/Code.py":37
 * # Set up available compression algorithms for maximum compression.
 * from zlib import compress as zlib_compress
 * try:             # <<<<<<<<<<<<<<
 *     from bz2 import compress as bz2_compress
 * except ImportError:
*/
    __pyx_L4_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_5, __pyx_t_6);
    goto __pyx_L1_error;
    __pyx_L3_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_5, __pyx_t_6);
    __pyx_L7_try_end:;
  }

  /* "Cython/Compiler/Code.py":47
 * #except ImportError:
 * #    lzma_compress = None
 * try:             # <<<<<<<<<<<<<<
 *     from compression.zstd import (
 *         compress as zstd_compress,
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_5, &__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_1);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":48
 * #    lzma_compress = None
 * try:
 *     from compression.zstd import (             # <<<<<<<<<<<<<<
 *         compress as zstd_compress,
 *         CompressionParameter as zstd_CompressionParameter,
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_compress,__pyx_mstate_global->__pyx_n_u_CompressionParameter,__pyx_mstate_global->__pyx_n_u_Strategy};
        __pyx_t_7 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_compression_zstd, __pyx_imported_names, 3, NULL, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L10_error)
      }
      __pyx_t_2 = __pyx_t_7;
      __Pyx_GOTREF(__pyx_t_2);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_compress,__pyx_mstate_global->__pyx_n_u_CompressionParameter,__pyx_mstate_global->__pyx_n_u_Strategy};
        for (__pyx_t_3=0; __pyx_t_3 < 3; __pyx_t_3++) {
          __pyx_t_8 = __Pyx_ImportFrom(__pyx_t_2, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 48, __pyx_L10_error)
          __Pyx_GOTREF(__pyx_t_8);
          switch (__pyx_t_3) {
            case 0:
            __Pyx_INCREF(__pyx_t_8);
            __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_zstd_compress);
            __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_zstd_compress, __pyx_t_8);
            __Pyx_GIVEREF(__pyx_t_8);
            break;
            case 1:
            if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_zstd_CompressionParameter, __pyx_t_8) < (0)) __PYX_ERR(0, 50, __pyx_L10_error)
            break;
            case 2:
            if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_zstd_Strategy, __pyx_t_8) < (0)) __PYX_ERR(0, 51, __pyx_L10_error)
            break;
            default:;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":47
 * #except ImportError:
 * #    lzma_compress = None
 * try:             # <<<<<<<<<<<<<<
 *     from compression.zstd import (
 *         compress as zstd_compress,
*/
    }

    /* "Cython/Compiler/Code.py":56
 *     zstd_compress = None
 * else:
 *     zstd_compress = partial(zstd_compress, options={             # <<<<<<<<<<<<<<
 *         zstd_CompressionParameter.strategy: zstd_Strategy.btultra2,
 *         zstd_CompressionParameter.compression_level: zstd_CompressionParameter.compression_level.bounds()[1],
*/
    /*else:*/ {
      __pyx_t_8 = NULL;
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_partial);
      __pyx_t_10 = __pyx_v_6Cython_8Compiler_4Code_partial; 

      /* "Cython/Compiler/Code.py":57
 * else:
 *     zstd_compress = partial(zstd_compress, options={
 *         zstd_CompressionParameter.strategy: zstd_Strategy.btultra2,             # <<<<<<<<<<<<<<
 *         zstd_CompressionParameter.compression_level: zstd_CompressionParameter.compression_level.bounds()[1],
 *     })
*/
      __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_zstd_CompressionParameter); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 57, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_strategy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 57, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_zstd_Strategy); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 57, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_btultra2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 57, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (PyDict_SetItem(__pyx_t_4, __pyx_t_13, __pyx_t_14) < (0)) __PYX_ERR(0, 57, __pyx_L12_except_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "Cython/Compiler/Code.py":58
 *     zstd_compress = partial(zstd_compress, options={
 *         zstd_CompressionParameter.strategy: zstd_Strategy.btultra2,
 *         zstd_CompressionParameter.compression_level: zstd_CompressionParameter.compression_level.bounds()[1],             # <<<<<<<<<<<<<<
 *     })
 *     del zstd_CompressionParameter
*/
      __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_zstd_CompressionParameter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 58, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_compression_level); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 58, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_zstd_CompressionParameter); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 58, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_compression_level); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 58, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __pyx_t_12 = __pyx_t_16;
      __Pyx_INCREF(__pyx_t_12);
      __pyx_t_9 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
        __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bounds, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 58, __pyx_L12_except_error)
        __Pyx_GOTREF(__pyx_t_14);
      }
      __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 58, __pyx_L12_except_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (PyDict_SetItem(__pyx_t_4, __pyx_t_13, __pyx_t_16) < (0)) __PYX_ERR(0, 57, __pyx_L12_except_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_t_9 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, __pyx_v_6Cython_8Compiler_4Code_zstd_compress};
        __pyx_t_16 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 56, __pyx_L12_except_error)
        __Pyx_GOTREF(__pyx_t_16);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_options, __pyx_t_4, __pyx_t_16, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 56, __pyx_L12_except_error)
        __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_16);
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L12_except_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_zstd_compress);
      __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_zstd_compress, __pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":60
 *         zstd_CompressionParameter.compression_level: zstd_CompressionParameter.compression_level.bounds()[1],
 *     })
 *     del zstd_CompressionParameter             # <<<<<<<<<<<<<<
 *     del zstd_Strategy
 * 
*/
      if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_zstd_CompressionParameter) < (0)) __PYX_ERR(0, 60, __pyx_L12_except_error)

      /* "Cython/Compiler/Code.py":61
 *     })
 *     del zstd_CompressionParameter
 *     del zstd_Strategy             # <<<<<<<<<<<<<<
 * 
 * compression_algorithms = [
*/
      if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_zstd_Strategy) < (0)) __PYX_ERR(0, 61, __pyx_L12_except_error)
    }
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L15_try_end;
    __pyx_L10_error:;
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":53
 *         Strategy as zstd_Strategy,
 *     )
 * except ImportError:             # <<<<<<<<<<<<<<
 *     zstd_compress = None
 * else:
*/
    __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ImportError))));
    if (__pyx_t_11) {
      __Pyx_ErrRestore(0,0,0);

      /* "Cython/Compiler/Code.py":54
 *     )
 * except ImportError:
 *     zstd_compress = None             # <<<<<<<<<<<<<<
 * else:
 *     zstd_compress = partial(zstd_compress, options={
*/
      __Pyx_INCREF(Py_None);
      __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_zstd_compress);
      __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_zstd_compress, Py_None);
      __Pyx_GIVEREF(Py_None);
      goto __pyx_L11_exception_handled;
    }
    goto __pyx_L12_except_error;

    /* "Cython/Compiler/Code.py":47
 * #except ImportError:
 * #    lzma_compress = None
 * try:             # <<<<<<<<<<<<<<
 *     from compression.zstd import (
 *         compress as zstd_compress,
*/
    __pyx_L12_except_error:;
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_1);
    goto __pyx_L1_error;
    __pyx_L11_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_1);
    __pyx_L15_try_end:;
  }

  /* "Cython/Compiler/Code.py":65
 * compression_algorithms = [
 *     # Note: order is important and defines values for "CYTHON_COMPRESS_STRINGS" !
 *     (1, 'zlib', partial(zlib_compress, level=9)),             # <<<<<<<<<<<<<<
 *     (2, 'bz2', bz2_compress),
 *     (3, 'zstd', zstd_compress),
*/
  __pyx_t_10 = NULL;
  __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_partial);
  __pyx_t_16 = __pyx_v_6Cython_8Compiler_4Code_partial; 
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_10, __pyx_v_6Cython_8Compiler_4Code_zlib_compress};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_level, __pyx_mstate_global->__pyx_int_9, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 65, __pyx_L1_error)
    __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_16, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_16 = PyTuple_Pack(3, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_n_u_zlib, __pyx_t_2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":66
 *     # Note: order is important and defines values for "CYTHON_COMPRESS_STRINGS" !
 *     (1, 'zlib', partial(zlib_compress, level=9)),
 *     (2, 'bz2', bz2_compress),             # <<<<<<<<<<<<<<
 *     (3, 'zstd', zstd_compress),
 *     # LZMA is difficult to configure for efficient output from C code
*/
  __pyx_t_2 = PyTuple_Pack(3, __pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_n_u_bz2, __pyx_v_6Cython_8Compiler_4Code_bz2_compress); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":67
 *     (1, 'zlib', partial(zlib_compress, level=9)),
 *     (2, 'bz2', bz2_compress),
 *     (3, 'zstd', zstd_compress),             # <<<<<<<<<<<<<<
 *     # LZMA is difficult to configure for efficient output from C code
 *     # and the default output tends to be quite large.
*/
  __pyx_t_4 = PyTuple_Pack(3, __pyx_mstate_global->__pyx_int_3, __pyx_mstate_global->__pyx_n_u_zstd, __pyx_v_6Cython_8Compiler_4Code_zstd_compress); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "Cython/Compiler/Code.py":63
 *     del zstd_Strategy
 * 
 * compression_algorithms = [             # <<<<<<<<<<<<<<
 *     # Note: order is important and defines values for "CYTHON_COMPRESS_STRINGS" !
 *     (1, 'zlib', partial(zlib_compress, level=9)),
*/
  __pyx_t_10 = __Pyx_PyList_Pack(3, __pyx_t_16, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_compression_algorithms, __pyx_t_10) < (0)) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":76
 * renamed_py2_builtins_map = {
 *     # builtins that had different names in Py2 code
 *     'unicode'    : 'str',             # <<<<<<<<<<<<<<
 *     'basestring' : 'str',
 *     'xrange'     : 'range',
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_unicode, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 76, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_basestring, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 76, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_xrange, __pyx_mstate_global->__pyx_n_u_range) < (0)) __PYX_ERR(0, 76, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_raw_input, __pyx_mstate_global->__pyx_n_u_input) < (0)) __PYX_ERR(0, 76, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_renamed_py2_builtins_map, __pyx_t_10) < (0)) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":86
 *     # import either because the names conflict with C types or because
 *     # the type simply is not exposed.
 *     'py_int'             : '&PyLong_Type',             # <<<<<<<<<<<<<<
 *     'py_long'            : '&PyLong_Type',
 *     'py_float'           : '&PyFloat_Type',
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_py_int, __pyx_mstate_global->__pyx_kp_u_PyLong_Type) < (0)) __PYX_ERR(0, 86, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_py_long, __pyx_mstate_global->__pyx_kp_u_PyLong_Type) < (0)) __PYX_ERR(0, 86, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_py_float, __pyx_mstate_global->__pyx_kp_u_PyFloat_Type) < (0)) __PYX_ERR(0, 86, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_wrapper_descriptor, __pyx_mstate_global->__pyx_kp_u_PyWrapperDescr_Type) < (0)) __PYX_ERR(0, 86, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ctypedef_builtins_map, __pyx_t_10) < (0)) __PYX_ERR(0, 82, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":94
 * basicsize_builtins_map = {
 *     # builtins whose type has a different tp_basicsize than sizeof(...)
 *     'PyTypeObject': 'PyHeapTypeObject',             # <<<<<<<<<<<<<<
 * }
 * 
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PyTypeObject, __pyx_mstate_global->__pyx_n_u_PyHeapTypeObject) < (0)) __PYX_ERR(0, 94, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_basicsize_builtins_map, __pyx_t_10) < (0)) __PYX_ERR(0, 92, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":98
 * 
 * # Builtins as of Python version ...
 * KNOWN_PYTHON_BUILTINS_VERSION = (3, 14, 0, 'beta', 1)             # <<<<<<<<<<<<<<
 * KNOWN_PYTHON_BUILTINS = frozenset([
 *     'ArithmeticError',
*/
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_KNOWN_PYTHON_BUILTINS_VERSION, __pyx_mstate_global->__pyx_tuple[27]) < (0)) __PYX_ERR(0, 98, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":99
 * # Builtins as of Python version ...
 * KNOWN_PYTHON_BUILTINS_VERSION = (3, 14, 0, 'beta', 1)
 * KNOWN_PYTHON_BUILTINS = frozenset([             # <<<<<<<<<<<<<<
 *     'ArithmeticError',
 *     'AssertionError',
*/
  __pyx_t_10 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[28]); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_KNOWN_PYTHON_BUILTINS, __pyx_t_10) < (0)) __PYX_ERR(0, 99, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":257
 * ])
 * 
 * uncachable_builtins = [             # <<<<<<<<<<<<<<
 *     # Global/builtin names that cannot be cached because they may or may not
 *     # be available at import time, for various reasons:
*/
  __pyx_t_10 = __Pyx_PyList_Pack(10, __pyx_mstate_global->__pyx_n_u_IncompleteInputError, __pyx_mstate_global->__pyx_n_u_PythonFinalizationError, __pyx_mstate_global->__pyx_n_u_BaseExceptionGroup, __pyx_mstate_global->__pyx_n_u_ExceptionGroup, __pyx_mstate_global->__pyx_n_u_aiter, __pyx_mstate_global->__pyx_n_u_anext, __pyx_mstate_global->__pyx_n_u_EncodingWarning, __pyx_mstate_global->__pyx_n_u_breakpoint, __pyx_mstate_global->__pyx_n_u_WindowsError, __pyx_mstate_global->__pyx_n_u__26); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_uncachable_builtins, __pyx_t_10) < (0)) __PYX_ERR(0, 257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":278
 * ]
 * 
 * special_py_methods = cython.declare(frozenset, frozenset((             # <<<<<<<<<<<<<<
 *     '__cinit__', '__dealloc__', '__richcmp__', '__next__',
 *     '__await__', '__aiter__', '__anext__',
*/
  __pyx_t_10 = __Pyx_PyFrozenSet_New(__pyx_mstate_global->__pyx_tuple[29]); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_special_py_methods);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_special_py_methods, ((PyObject*)__pyx_t_10));
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":285
 * 
 * modifier_output_mapper = {
 *     'inline': 'CYTHON_INLINE'             # <<<<<<<<<<<<<<
 * }.get
 * 
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_inline, __pyx_mstate_global->__pyx_n_u_CYTHON_INLINE) < (0)) __PYX_ERR(0, 285, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":286
 * modifier_output_mapper = {
 *     'inline': 'CYTHON_INLINE'
 * }.get             # <<<<<<<<<<<<<<
 * 
 * cleanup_level_for_type_prefix = cython.declare(object, {
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_modifier_output_mapper, __pyx_t_4) < (0)) __PYX_ERR(0, 284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":289
 * 
 * cleanup_level_for_type_prefix = cython.declare(object, {
 *     'ustring': None,             # <<<<<<<<<<<<<<
 *     'tuple': 2,
 *     'slice': 2,
*/
  __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ustring, Py_None) < (0)) __PYX_ERR(0, 289, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_tuple, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(0, 289, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_slice, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(0, 289, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":292
 *     'tuple': 2,
 *     'slice': 2,
 * }.get)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_cleanup_level_for_type_prefix);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_cleanup_level_for_type_prefix, __pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":295
 * 
 * 
 * class IncludeCode:             # <<<<<<<<<<<<<<
 *     """
 *     An include file and/or verbatim C code to be included in the
*/
  __pyx_t_10 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_IncludeCode, __pyx_mstate_global->__pyx_n_u_IncludeCode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_kp_u_An_include_file_and_or_verbatim); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "Cython/Compiler/Code.py":315
 *     # Constants for location. If the same include occurs with different
 *     # locations, the earliest one takes precedence.
 *     INITIAL = 0             # <<<<<<<<<<<<<<
 *     EARLY = 1
 *     LATE = 2
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_INITIAL, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(0, 315, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":316
 *     # locations, the earliest one takes precedence.
 *     INITIAL = 0
 *     EARLY = 1             # <<<<<<<<<<<<<<
 *     LATE = 2
 * 
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_EARLY, __pyx_mstate_global->__pyx_int_1) < (0)) __PYX_ERR(0, 316, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":317
 *     INITIAL = 0
 *     EARLY = 1
 *     LATE = 2             # <<<<<<<<<<<<<<
 * 
 *     counter = 1   # Counter for "order"
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_LATE, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(0, 317, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":319
 *     LATE = 2
 * 
 *     counter = 1   # Counter for "order"             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, include=None, verbatim=None, late=True, initial=False):
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_counter, __pyx_mstate_global->__pyx_int_1) < (0)) __PYX_ERR(0, 319, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":321
 *     counter = 1   # Counter for "order"
 * 
 *     def __init__(self, include=None, verbatim=None, late=True, initial=False):             # <<<<<<<<<<<<<<
 *         self.order = self.counter
 *         type(self).counter += 1
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_1__init__, 0, __pyx_mstate_global->__pyx_n_u_IncludeCode___init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[15])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_init_2, __pyx_t_4) < (0)) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":343
 *             self.location = self.EARLY
 * 
 *     def dict_update(self, d, key):             # <<<<<<<<<<<<<<
 *         """
 *         Insert `self` in dict `d` with key `key`. If that key already
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_3dict_update, 0, __pyx_mstate_global->__pyx_n_u_IncludeCode_dict_update, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[16])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_dict_update, __pyx_t_4) < (0)) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":355
 *             d[key] = self
 * 
 *     def sortkey(self):             # <<<<<<<<<<<<<<
 *         return self.order
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_5sortkey, 0, __pyx_mstate_global->__pyx_n_u_IncludeCode_sortkey, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[17])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_sortkey, __pyx_t_4) < (0)) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":358
 *         return self.order
 * 
 *     def mainpiece(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the main piece of C code, corresponding to the include
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_7mainpiece, 0, __pyx_mstate_global->__pyx_n_u_IncludeCode_mainpiece, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[18])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_mainpiece, __pyx_t_4) < (0)) __PYX_ERR(0, 358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":365
 *         return self.pieces.get(0)
 * 
 *     def write(self, code):             # <<<<<<<<<<<<<<
 *         # Write values of self.pieces dict, sorted by the keys
 *         for k in sorted(self.pieces):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11IncludeCode_9write, 0, __pyx_mstate_global->__pyx_n_u_IncludeCode_write, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[19])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_write, __pyx_t_4) < (0)) __PYX_ERR(0, 365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":295
 * 
 * 
 * class IncludeCode:             # <<<<<<<<<<<<<<
 *     """
 *     An include file and/or verbatim C code to be included in the
*/
  __pyx_t_4 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_IncludeCode, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_10, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_IncludeCode, __pyx_t_4) < (0)) __PYX_ERR(0, 295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":371
 * 
 * 
 * def get_utility_dir():             # <<<<<<<<<<<<<<
 *     # make this a function and not global variables:
 *     # http://trac.cython.org/cython_trac/ticket/475
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_1get_utility_dir, 0, __pyx_mstate_global->__pyx_n_u_get_utility_dir, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[20])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_get_utility_dir, __pyx_t_10) < (0)) __PYX_ERR(0, 371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":377
 *     return os.path.join(Cython_dir, "Utility")
 * 
 * read_utilities_hook = None             # <<<<<<<<<<<<<<
 * """
 * Override the hook for reading a utilities file that contains code fragments used
*/
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_read_utilities_hook, Py_None) < (0)) __PYX_ERR(0, 377, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":388
 * """
 * 
 * def read_utilities_from_utility_dir(path):             # <<<<<<<<<<<<<<
 *     """
 *     Read all lines of the file at the provided path from a path relative
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_3read_utilities_from_utility_dir, 0, __pyx_mstate_global->__pyx_n_u_read_utilities_from_utility_dir, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[21])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_read_utilities_from_utility_dir, __pyx_t_10) < (0)) __PYX_ERR(0, 388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":398
 * 
 * # by default, read utilities from the utility directory.
 * read_utilities_hook = read_utilities_from_utility_dir             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_read_utilities_from_utility_dir); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_read_utilities_hook, __pyx_t_10) < (0)) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":403
 * class AbstractUtilityCode:
 * 
 *     requires = None             # <<<<<<<<<<<<<<
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:
*/
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode, __pyx_mstate_global->__pyx_n_u_requires, Py_None) < (0)) __PYX_ERR(0, 403, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":405
 *     requires = None
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_globalstate, __pyx_mstate_global->__pyx_kp_u_GlobalState) < (0)) __PYX_ERR(0, 405, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 405, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_19AbstractUtilityCode_1put_code, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AbstractUtilityCode_put_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[22])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[31]);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode, __pyx_mstate_global->__pyx_n_u_put_code, __pyx_t_4) < (0)) __PYX_ERR(0, 405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":408
 *         pass
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_19AbstractUtilityCode_3get_tree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AbstractUtilityCode_get_tree, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[23])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode, __pyx_mstate_global->__pyx_n_u_get_tree, __pyx_t_4) < (0)) __PYX_ERR(0, 408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":411
 *         return None
 * 
 *     def get_shared_library_scope(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_19AbstractUtilityCode_5get_shared_library_scope, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_AbstractUtilityCode_get_shared_l, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_AbstractUtilityCode, __pyx_mstate_global->__pyx_n_u_get_shared_library_scope, __pyx_t_4) < (0)) __PYX_ERR(0, 411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":453
 *     """
 * 
 *     is_cython_utility = False             # <<<<<<<<<<<<<<
 *     _utility_cache = {}
 * 
*/
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_is_cython_utility, Py_False) < (0)) __PYX_ERR(0, 453, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":454
 * 
 *     is_cython_utility = False
 *     _utility_cache = {}             # <<<<<<<<<<<<<<
 * 
 *     match_section_title = re.compile(
*/
  __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_utility_cache, __pyx_t_4) < (0)) __PYX_ERR(0, 454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":456
 *     _utility_cache = {}
 * 
 *     match_section_title = re.compile(             # <<<<<<<<<<<<<<
 *         r'(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup|module_state_decls|module_state_traverse|module_state_clear|export)$'
 *     ).match
*/
  __pyx_t_10 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_10);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_kp_u_proto_S_impl_init_cleanup_modul};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }

  /* "Cython/Compiler/Code.py":458
 *     match_section_title = re.compile(
 *         r'(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup|module_state_decls|module_state_traverse|module_state_clear|export)$'
 *     ).match             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_match); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_match_section_title, __pyx_t_10) < (0)) __PYX_ERR(0, 456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":460
 *     ).match
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def get_special_comment_matcher(line_comment_char):
 *         return re.compile((
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_1get_special_comment_matcher, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_get_special_comm, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_get_special_comment_matcher, __pyx_t_10) < (0)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_4 = NULL;
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_get_special_comment_matcher); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_get_special_comment_matcher, __pyx_t_10) < (0)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":469
 *         ) % {'C': re.escape(line_comment_char)}, re.VERBOSE).match
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def _add_utility(cls, utility, name, type, lines, begin_lineno, tags=None):
 *         if utility is None:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_3_add_utility, __Pyx_CYFUNCTION_CLASSMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase__add_utility, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_add_utility, __pyx_t_10) < (0)) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_GetNameInClass(__pyx_t_10, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_add_utility); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_2 = __Pyx_Method_ClassMethod(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_add_utility, __pyx_t_2) < (0)) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":502
 *                 all_tags.setdefault(tag_name, set()).update(tag_values)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_5load_utilities_from_file, __Pyx_CYFUNCTION_CLASSMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_load_utilities_f, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_utilities_from_file, __pyx_t_2) < (0)) __PYX_ERR(0, 502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_utilities_from_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_10 = __Pyx_Method_ClassMethod(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_utilities_from_file, __pyx_t_10) < (0)) __PYX_ERR(0, 502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":574
 *         return utilities
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load(cls, util_code_name, from_file, **kwargs):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_7load, __Pyx_CYFUNCTION_CLASSMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_load, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load, __pyx_t_10) < (0)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_GetNameInClass(__pyx_t_10, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_2 = __Pyx_Method_ClassMethod(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load, __pyx_t_2) < (0)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":629
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file, __cache={}):             # <<<<<<<<<<<<<<
 *         """
 *         Calls .load(), but using a per-type cache based on utility name and file name.
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_mstate_global->__pyx_k__12 = __pyx_t_2;
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":628
 *         return cls(**kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file, __cache={}):
 *         """
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_10 = PyTuple_Pack(1, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_cached, __Pyx_CYFUNCTION_CLASSMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_load_cached, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_cached, __pyx_t_2) < (0)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_cached); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_10 = __Pyx_Method_ClassMethod(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_cached, __pyx_t_10) < (0)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":641
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_11load_as_string, __Pyx_CYFUNCTION_CLASSMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_load_as_string, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_as_string, __pyx_t_10) < (0)) __PYX_ERR(0, 641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_GetNameInClass(__pyx_t_10, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_as_string); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_2 = __Pyx_Method_ClassMethod(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_load_as_string, __pyx_t_2) < (0)) __PYX_ERR(0, 641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":671
 *         return "".join(protos), "".join(impls)
 * 
 *     def format_code(self, code_string, replace_empty_lines=re.compile(r'\n\n+').sub):             # <<<<<<<<<<<<<<
 *         """
 *         Format a code section for output.
*/
  __pyx_t_10 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_10);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_kp_u_n_n};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_sub); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_mstate_global->__pyx_k__13 = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;
  __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_n_n};
    __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_sub); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = PyTuple_Pack(1, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_13format_code, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_format_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[31])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_format_code, __pyx_t_2) < (0)) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":682
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_17get_tree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_get_tree, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[32])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_get_tree, __pyx_t_2) < (0)) __PYX_ERR(0, 682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":685
 *         return None
 * 
 *     def get_shared_library_scope(self, **kwargs):             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_19get_shared_library_scope, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase_get_shared_libra, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[33])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_get_shared_library_scope, __pyx_t_2) < (0)) __PYX_ERR(0, 685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":688
 *         return None
 * 
 *     def __deepcopy__(self, memodict=None):             # <<<<<<<<<<<<<<
 *         # No need to deep-copy utility code since it's essentially immutable.
 *         return self
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_21__deepcopy__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCodeBase___deepcopy, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[34])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase, __pyx_mstate_global->__pyx_n_u_deepcopy, __pyx_t_2) < (0)) __PYX_ERR(0, 688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":693
 * 
 * @dataclass
 * class SharedFunctionDecl:             # <<<<<<<<<<<<<<
 *     """Contains parsed declaration of shared utility function"""
 *     name: str
*/
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_SharedFunctionDecl, __pyx_mstate_global->__pyx_n_u_SharedFunctionDecl, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_kp_u_Contains_parsed_declaration_of_s); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_10 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_name, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 693, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_ret, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 693, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_params, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 693, __pyx_L1_error)
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_annotations, __pyx_t_10) < (0)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":692
 *         return self
 * 
 * @dataclass             # <<<<<<<<<<<<<<
 * class SharedFunctionDecl:
 *     """Contains parsed declaration of shared utility function"""
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_dataclass); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);

  /* "Cython/Compiler/Code.py":693
 * 
 * @dataclass
 * class SharedFunctionDecl:             # <<<<<<<<<<<<<<
 *     """Contains parsed declaration of shared utility function"""
 *     name: str
*/
  __pyx_t_8 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_SharedFunctionDecl, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_16, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SharedFunctionDecl, __pyx_t_10) < (0)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":719
 *     shared_utility_functions        List of parsed declaration line of the shared utility function
 *     """
 *     code_parts = ["proto", "export", "impl", "init", "cleanup", "module_state_decls", "module_state_traverse", "module_state_clear"]             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None,
*/
  __pyx_t_2 = __Pyx_PyList_Pack(8, __pyx_mstate_global->__pyx_n_u_proto, __pyx_mstate_global->__pyx_n_u_export, __pyx_mstate_global->__pyx_n_u_impl, __pyx_mstate_global->__pyx_n_u_init, __pyx_mstate_global->__pyx_n_u_cleanup, __pyx_mstate_global->__pyx_n_u_module_state_decls, __pyx_mstate_global->__pyx_n_u_module_state_traverse, __pyx_mstate_global->__pyx_n_u_module_state_clear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_code_parts, __pyx_t_2) < (0)) __PYX_ERR(0, 719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":747
 *         self._parts_tuple = tuple(getattr(self, part, None) for part in self.code_parts)
 * 
 *     def parse_export_functions(self, export_proto: str) -> list:             # <<<<<<<<<<<<<<
 * 
 *         assert '//' not in export_proto and '/[inserted by cython to avoid comment start]*' not in export_proto and '*[inserted by cython to avoid comment closer]/' not in export_proto, \
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_export_proto, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 747, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 747, __pyx_L1_error)
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_3parse_export_functions, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode_parse_export_functio, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[35])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_parse_export_functions, __pyx_t_10) < (0)) __PYX_ERR(0, 747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":789
 *         return self._parts_tuple == other._parts_tuple
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_9none_or_sub, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode_none_or_sub, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[36])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_none_or_sub, __pyx_t_10) < (0)) __PYX_ERR(0, 789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":797
 *         return s % context
 * 
 *     def specialize(self, pyrex_type=None, **data):             # <<<<<<<<<<<<<<
 *         name = self.name
 *         if pyrex_type is not None:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_11specialize, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode_specialize, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[37])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_specialize, __pyx_t_10) < (0)) __PYX_ERR(0, 797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":829
 *             return s
 * 
 *     def _validate_suitable_for_sharing(self):             # <<<<<<<<<<<<<<
 *         code_string = getattr(self, "impl")
 *         if not code_string: return
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_13_validate_suitable_for_sharing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode__validate_suitable_f, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[38])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_validate_suitable_for_sharing, __pyx_t_10) < (0)) __PYX_ERR(0, 829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":835
 *             f"moddict_cname should not be shared: {self}"
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def _put_code_section(self, writer: "CCodeWriter", output: "GlobalState", code_type: str, used_by=None):
 *         code_string = getattr(self, code_type)
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_writer, __pyx_mstate_global->__pyx_kp_u_CCodeWriter_2) < (0)) __PYX_ERR(0, 835, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_output, __pyx_mstate_global->__pyx_kp_u_GlobalState) < (0)) __PYX_ERR(0, 835, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_code_type, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 835, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_15_put_code_section, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode__put_code_section, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[39])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[31]);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_put_code_section, __pyx_t_2) < (0)) __PYX_ERR(0, 835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":856
 *             writer.put_multilines(code_string)
 * 
 *     def _put_init_code_section(self, output):             # <<<<<<<<<<<<<<
 *         if not self.init:
 *             return
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_17_put_init_code_section, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode__put_init_code_secti, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[40])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_put_init_code_section, __pyx_t_2) < (0)) __PYX_ERR(0, 856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":866
 *         writer.putln()
 * 
 *     def _put_shared_function_declarations(self, code: "CCodeWriter") -> None:             # <<<<<<<<<<<<<<
 *         code.putln(f'/[inserted by cython to avoid comment start]* {self.name} *[inserted by cython to avoid comment closer]/')
 *         for shared in self.shared_utility_functions:
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_code, __pyx_mstate_global->__pyx_kp_u_CCodeWriter_2) < (0)) __PYX_ERR(0, 866, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 866, __pyx_L1_error)
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_19_put_shared_function_declarations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode__put_shared_function, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[41])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_put_shared_function_declaration, __pyx_t_10) < (0)) __PYX_ERR(0, 866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":873
 *         code.putln()
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         has_shared_utility_code = bool(
 *             self.shared_utility_functions and globalstate.module_node.scope.context.shared_utility_qualified_name
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_globalstate, __pyx_mstate_global->__pyx_kp_u_GlobalState) < (0)) __PYX_ERR(0, 873, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 873, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_21put_code, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UtilityCode_put_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[42])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[31]);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode, __pyx_mstate_global->__pyx_n_u_put_code, __pyx_t_2) < (0)) __PYX_ERR(0, 873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":905
 * 
 * 
 * def add_macro_processor(*macro_names, regex=None, is_module_specific=False, _last_macro_processor = [None]):             # <<<<<<<<<<<<<<
 *     """Decorator to chain the code macro processors below.
 *     """
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_5add_macro_processor, 0, __pyx_mstate_global->__pyx_n_u_add_macro_processor, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[43])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  if (!__Pyx_CyFunction_InitDefaults(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults)) __PYX_ERR(0, 905, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyList_Pack(1, Py_None); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_t_2)->arg0 = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;
  __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_2, __pyx_pf_6Cython_8Compiler_4Code_26__defaults__);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_add_macro_processor, __pyx_t_2) < (0)) __PYX_ERR(0, 905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":946
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CSTRING',
 *     regex=r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)',
*/
  __pyx_t_10 = NULL;
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_add_macro_processor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CSTRING};
    __pyx_t_13 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_regex, __pyx_mstate_global->__pyx_kp_u_CSTRING_s_s, __pyx_t_13, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 946, __pyx_L1_error)
    __pyx_t_16 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_13);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
  }
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_7_wrap_c_string, 0, __pyx_mstate_global->__pyx_n_u_wrap_c_string, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[44])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_16, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_wrap_c_string, __pyx_t_2) < (0)) __PYX_ERR(0, 946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":959
 * 
 * 
 * @add_macro_processor()             # <<<<<<<<<<<<<<
 * def _format_impl_code(utility_code: UtilityCode, _, impl):
 *     return utility_code.format_code(impl)
*/
  __pyx_t_16 = NULL;
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_add_macro_processor); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 959, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (PyDict_SetItem(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_utility_code, __pyx_mstate_global->__pyx_n_u_UtilityCode) < (0)) __PYX_ERR(0, 959, __pyx_L1_error)
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_9_format_impl_code, 0, __pyx_mstate_global->__pyx_n_u_format_impl_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[45])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_13);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 959, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_format_impl_code, __pyx_t_2) < (0)) __PYX_ERR(0, 959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":964
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CALL_UNBOUND_METHOD',
 *     is_module_specific=True,
*/
  __pyx_t_4 = NULL;
  __pyx_t_16 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_add_macro_processor); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);

  /* "Cython/Compiler/Code.py":966
 * @add_macro_processor(
 *     'CALL_UNBOUND_METHOD',
 *     is_module_specific=True,             # <<<<<<<<<<<<<<
 *     regex=(
 *         r'CALL_UNBOUND_METHOD\('
*/
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_16, __pyx_mstate_global->__pyx_n_u_CALL_UNBOUND_METHOD};
    __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_module_specific, Py_True, __pyx_t_8, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 964, __pyx_L1_error)
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_regex, __pyx_mstate_global->__pyx_kp_u_CALL_UNBOUND_METHOD_a_zA_Z__s_s, __pyx_t_8, __pyx_callargs+2, 1) < (0)) __PYX_ERR(0, 964, __pyx_L1_error)
    __pyx_t_10 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
    __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }

  /* "Cython/Compiler/Code.py":964
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CALL_UNBOUND_METHOD',
 *     is_module_specific=True,
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11_inject_unbound_method, 0, __pyx_mstate_global->__pyx_n_u_inject_unbound_method, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[46])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_13};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_inject_unbound_method, __pyx_t_2) < (0)) __PYX_ERR(0, 964, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":988
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'PYIDENT', 'PYUNICODE',
 *     is_module_specific=True,
*/
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_add_macro_processor); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);

  /* "Cython/Compiler/Code.py":990
 * @add_macro_processor(
 *     'PYIDENT', 'PYUNICODE',
 *     is_module_specific=True,             # <<<<<<<<<<<<<<
 *     regex=r'PY(IDENT|UNICODE)\("([^"]+)"\)',
 * )
*/
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_is_module_specific, Py_True) < (0)) __PYX_ERR(0, 990, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_regex, __pyx_mstate_global->__pyx_kp_u_PY_IDENT_UNICODE) < (0)) __PYX_ERR(0, 990, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":988
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'PYIDENT', 'PYUNICODE',
 *     is_module_specific=True,
*/
  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_mstate_global->__pyx_tuple[33], __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13_inject_string_constant, 0, __pyx_mstate_global->__pyx_n_u_inject_string_constant, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[47])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_inject_string_constant, __pyx_t_2) < (0)) __PYX_ERR(0, 988, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1003
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'EMPTY',
 *     # As long as we use the same C access macros for these names, they are not module specific.
*/
  __pyx_t_8 = NULL;
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_add_macro_processor); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_10, __pyx_mstate_global->__pyx_n_u_EMPTY};
    __pyx_t_16 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_regex, __pyx_mstate_global->__pyx_kp_u_EMPTY_bytes_unicode_tuple, __pyx_t_16, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 1003, __pyx_L1_error)
    __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_16);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15_inject_empty_collection_constant, 0, __pyx_mstate_global->__pyx_n_u_inject_empty_collection_constan, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[48])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_13};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_inject_empty_collection_constan, __pyx_t_2) < (0)) __PYX_ERR(0, 1003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1018
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CGLOBAL',  # 'NAMED_CGLOBAL',  # first is part of second and thus not needed
 *     is_module_specific=False,
*/
  __pyx_t_4 = NULL;
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_add_macro_processor); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);

  /* "Cython/Compiler/Code.py":1020
 * @add_macro_processor(
 *     'CGLOBAL',  # 'NAMED_CGLOBAL',  # first is part of second and thus not needed
 *     is_module_specific=False,             # <<<<<<<<<<<<<<
 *     regex=r'(NAMED_)?CGLOBAL\(([^)]+)\)',
 * )
*/
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CGLOBAL};
    __pyx_t_10 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_module_specific, Py_False, __pyx_t_10, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 1018, __pyx_L1_error)
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_regex, __pyx_mstate_global->__pyx_kp_u_NAMED__CGLOBAL, __pyx_t_10, __pyx_callargs+2, 1) < (0)) __PYX_ERR(0, 1018, __pyx_L1_error)
    __pyx_t_13 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_16, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_10);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
  }

  /* "Cython/Compiler/Code.py":1018
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'CGLOBAL',  # 'NAMED_CGLOBAL',  # first is part of second and thus not needed
 *     is_module_specific=False,
*/
  __pyx_t_16 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_17_inject_cglobal, 0, __pyx_mstate_global->__pyx_n_u_inject_cglobal, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[49])); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_16);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_16};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_inject_cglobal, __pyx_t_2) < (0)) __PYX_ERR(0, 1018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1030
 * 
 * 
 * @add_macro_processor()             # <<<<<<<<<<<<<<
 * def process_utility_ccode(utility_code, _, code_string):
 *     """Entry point for code processors, must be defined last.
*/
  __pyx_t_13 = NULL;
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_add_macro_processor); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_16 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_9, (1-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
  }
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_19process_utility_ccode, 0, __pyx_mstate_global->__pyx_n_u_process_utility_ccode, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[50])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_16, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_process_utility_ccode, __pyx_t_2) < (0)) __PYX_ERR(0, 1030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1037
 * 
 * 
 * def sub_tempita(s, context, file=None, name=None, __cache={}):             # <<<<<<<<<<<<<<
 *     "Run tempita on string s with given context."
 *     if not s:
*/
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_21sub_tempita, 0, __pyx_mstate_global->__pyx_n_u_sub_tempita, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[51])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  if (!__Pyx_CyFunction_InitDefaults(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults)) __PYX_ERR(0, 1037, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_t_2)->arg0 = __pyx_t_16;
  __Pyx_GIVEREF(__pyx_t_16);
  __pyx_t_16 = 0;
  __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_2, __pyx_pf_6Cython_8Compiler_4Code_28__defaults__);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_sub_tempita, __pyx_t_2) < (0)) __PYX_ERR(0, 1037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1056
 * 
 * 
 * class TempitaUtilityCode(UtilityCode):             # <<<<<<<<<<<<<<
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:
*/
  __pyx_t_2 = PyTuple_Pack(1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_16 = __Pyx_PEP560_update_bases(__pyx_t_2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_10 = __Pyx_CalculateMetaclass(NULL, __pyx_t_16); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_13 = __Pyx_Py3MetaclassPrepare(__pyx_t_10, __pyx_t_16, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__pyx_t_16 != __pyx_t_2) {
    if (unlikely((PyDict_SetItemString(__pyx_t_13, "__orig_bases__", __pyx_t_2) < 0))) __PYX_ERR(0, 1056, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":1057
 * 
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             context = {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__, 0, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode___init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[52])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  PyList_Append(__pyx_t_2, __pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[34]);
  if (__Pyx_SetNameInClass(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_init_2, __pyx_t_4) < (0)) __PYX_ERR(0, 1057, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1069
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode_load_cached, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[53])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (!__Pyx_CyFunction_InitDefaults(__pyx_t_4, __pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code___pyx_defaults)) __PYX_ERR(0, 1069, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1070
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):             # <<<<<<<<<<<<<<
 *         context_key = tuple(sorted(context.items())) if context else None
 *         assert hash(context_key) is not None  # raise TypeError if not hashable
*/
  __pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_t_4)->arg0 = __pyx_t_8;
  __Pyx_GIVEREF(__pyx_t_8);
  __pyx_t_8 = 0;
  __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_4, __pyx_pf_6Cython_8Compiler_4Code_30__defaults__);

  /* "Cython/Compiler/Code.py":1069
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file=None, context=None, __cache={}):
 *         context_key = tuple(sorted(context.items())) if context else None
*/
  __pyx_t_8 = __Pyx_Method_ClassMethod(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_load_cached, __pyx_t_8) < (0)) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1081
 *         return code
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_5none_or_sub, 0, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode_none_or_sub, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[54])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_none_or_sub, __pyx_t_8) < (0)) __PYX_ERR(0, 1081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1056
 * 
 * 
 * class TempitaUtilityCode(UtilityCode):             # <<<<<<<<<<<<<<
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:
*/
  __pyx_t_8 = __Pyx_Py3ClassCreate(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode, __pyx_t_16, __pyx_t_13, NULL, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_CyFunction_InitClassCell(__pyx_t_2, __pyx_t_8) < (0)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_TempitaUtilityCode, __pyx_t_8) < (0)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "Cython/Compiler/Code.py":1090
 * 
 * 
 * class LazyUtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     """
 *     Utility code that calls a callback with the root code writer when
*/
  __pyx_t_16 = PyTuple_Pack(1, ((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCodeBase)); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_10 = __Pyx_PEP560_update_bases(__pyx_t_16); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_13 = __Pyx_CalculateMetaclass(NULL, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_8 = __Pyx_Py3MetaclassPrepare(__pyx_t_13, __pyx_t_10, __pyx_mstate_global->__pyx_n_u_LazyUtilityCode, __pyx_mstate_global->__pyx_n_u_LazyUtilityCode, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_kp_u_Utility_code_that_calls_a_callb); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (__pyx_t_10 != __pyx_t_16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_8, "__orig_bases__", __pyx_t_16) < 0))) __PYX_ERR(0, 1090, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "Cython/Compiler/Code.py":1095
 *     available. Useful when you only have 'env' but not 'code'.
 *     """
 *     __name__ = '<lazy>'             # <<<<<<<<<<<<<<
 *     requires = None
 * 
*/
  if (__Pyx_SetNameInClass(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_kp_u_lazy) < (0)) __PYX_ERR(0, 1095, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1096
 *     """
 *     __name__ = '<lazy>'
 *     requires = None             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, callback):
*/
  if (__Pyx_SetNameInClass(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_requires, Py_None) < (0)) __PYX_ERR(0, 1096, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1098
 *     requires = None
 * 
 *     def __init__(self, callback):             # <<<<<<<<<<<<<<
 *         self.callback = callback
 * 
*/
  __pyx_t_16 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__, 0, __pyx_mstate_global->__pyx_n_u_LazyUtilityCode___init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[55])); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_16);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_init_2, __pyx_t_16) < (0)) __PYX_ERR(0, 1098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

  /* "Cython/Compiler/Code.py":1101
 *         self.callback = callback
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility, used_by=used_by)
*/
  __pyx_t_16 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  if (PyDict_SetItem(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_globalstate, __pyx_mstate_global->__pyx_kp_u_GlobalState) < (0)) __PYX_ERR(0, 1101, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_None) < (0)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code, 0, __pyx_mstate_global->__pyx_n_u_LazyUtilityCode_put_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[56])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[31]);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_16);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_put_code, __pyx_t_2) < (0)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1090
 * 
 * 
 * class LazyUtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     """
 *     Utility code that calls a callback with the root code writer when
*/
  __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_LazyUtilityCode, __pyx_t_10, __pyx_t_8, NULL, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_LazyUtilityCode, __pyx_t_2) < (0)) __PYX_ERR(0, 1090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1119
 * 
 *     # Not used for now, perhaps later
 *     def __init__(self, owner, names_taken=set(), scope=None):             # <<<<<<<<<<<<<<
 *         self.names_taken = names_taken
 *         self.owner = owner
*/
  __pyx_t_10 = PySet_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_mstate_global->__pyx_k__37 = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1162
 *     # safety checks
 * 
 *     def validate_exit(self):             # <<<<<<<<<<<<<<
 *         # validate that all allocated temps have been freed
 *         if self.temps_allocated:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_3validate_exit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_validate_exit, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[57])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_validate_exit, __pyx_t_10) < (0)) __PYX_ERR(0, 1162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1176
 *     # labels
 * 
 *     def new_label(self, name=None):             # <<<<<<<<<<<<<<
 *         n: cython.size_t = self.label_counter
 *         self.label_counter = n + 1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_5new_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_new_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[58])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_new_label, __pyx_t_10) < (0)) __PYX_ERR(0, 1176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1184
 *         return label
 * 
 *     def new_yield_label(self, expr_type='yield'):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_%s' % expr_type)
 *         num_and_label = (len(self.yield_labels) + 1, label)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_7new_yield_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_new_yield_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[59])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_new_yield_label, __pyx_t_10) < (0)) __PYX_ERR(0, 1184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1190
 *         return num_and_label
 * 
 *     def new_error_label(self, prefix=""):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label(prefix + 'error')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_9new_error_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_new_error_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[60])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[36]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_new_error_label, __pyx_t_10) < (0)) __PYX_ERR(0, 1190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1195
 *         return old_err_lbl
 * 
 *     def get_loop_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_11get_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_get_loop_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[61])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_get_loop_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1200
 *             self.break_label)
 * 
 *     def set_loop_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label) = labels
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_13set_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_set_loop_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[62])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_set_loop_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 1200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1204
 *          self.break_label) = labels
 * 
 *     def new_loop_labels(self, prefix=""):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_15new_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_new_loop_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[63])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[36]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_new_loop_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1211
 *         return old_labels
 * 
 *     def get_all_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_17get_all_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_get_all_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[64])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_get_all_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1218
 *             self.error_label)
 * 
 *     def set_all_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_19set_all_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_set_all_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[65])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_set_all_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 1218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1224
 *          self.error_label) = labels
 * 
 *     def all_new_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_all_labels()
 *         new_labels = []
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_21all_new_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_all_new_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[66])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_all_new_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 1224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1235
 *         return old_labels
 * 
 *     def use_label(self, lbl):             # <<<<<<<<<<<<<<
 *         self.labels_used.add(lbl)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_23use_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_use_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[67])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_use_label, __pyx_t_10) < (0)) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1238
 *         self.labels_used.add(lbl)
 * 
 *     def label_used(self, lbl):             # <<<<<<<<<<<<<<
 *         return lbl in self.labels_used
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_25label_used, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_label_used, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[68])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_label_used, __pyx_t_10) < (0)) __PYX_ERR(0, 1238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1243
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False, reusable=True):             # <<<<<<<<<<<<<<
 *         """
 *         Allocates a temporary (which may create a new one or get a previously
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_27allocate_temp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_allocate_temp, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[69])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[37]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_allocate_temp, __pyx_t_10) < (0)) __PYX_ERR(0, 1243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1301
 *         return result
 * 
 *     def release_temp(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Releases a temporary so that it can be reused by other code needing
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_29release_temp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_release_temp, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[70])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_release_temp, __pyx_t_10) < (0)) __PYX_ERR(0, 1301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1320
 *                 name, " - zombie" if name in self.zombie_temps else ""))
 * 
 *     def temps_in_use(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname,type,manage_ref) tuples of temp names and their type
 *         that are currently in use.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_31temps_in_use, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_temps_in_use, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[71])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_temps_in_use, __pyx_t_10) < (0)) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1331
 *         return used
 * 
 *     def temps_holding_reference(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname,type) tuples of temp names and their type
 *         that are currently in use. This includes only temps
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_33temps_holding_reference, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_temps_holding_refe, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[72])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_temps_holding_reference, __pyx_t_10) < (0)) __PYX_ERR(0, 1331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1340
 *                 if manage_ref and type.needs_refcounting]
 * 
 *     def all_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python objects.
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_35all_managed_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_all_managed_temps, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[73])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_all_managed_temps, __pyx_t_10) < (0)) __PYX_ERR(0, 1340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1347
 *                 if manage_ref]
 * 
 *     def all_free_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python
 *         objects that are not currently in use.  This is used by
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_37all_free_managed_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_all_free_managed_t, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[74])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_all_free_managed_temps, __pyx_t_10) < (0)) __PYX_ERR(0, 1347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1359
 *         ])
 * 
 *     def start_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         """
 *         Useful to find out which temps were used in a code block
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_39start_collecting_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_start_collecting_t, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[75])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_start_collecting_temps, __pyx_t_10) < (0)) __PYX_ERR(0, 1359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1365
 *         self.collect_temps_stack.append(set())
 * 
 *     def stop_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         return self.collect_temps_stack.pop()
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_41stop_collecting_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_stop_collecting_te, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[76])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_stop_collecting_temps, __pyx_t_10) < (0)) __PYX_ERR(0, 1365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1368
 *         return self.collect_temps_stack.pop()
 * 
 *     def init_closure_temps(self, scope):             # <<<<<<<<<<<<<<
 *         self.closure_temps = ClosureTempAllocator(scope)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_43init_closure_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_FunctionState_init_closure_temps, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[77])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_FunctionState, __pyx_mstate_global->__pyx_n_u_init_closure_temps, __pyx_t_10) < (0)) __PYX_ERR(0, 1368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1372
 * 
 * 
 * class NumConst:             # <<<<<<<<<<<<<<
 *     """Global info about a Python number constant held by GlobalState.
 * 
*/
  __pyx_t_10 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_NumConst, __pyx_mstate_global->__pyx_n_u_NumConst, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_kp_u_Global_info_about_a_Python_numbe); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "Cython/Compiler/Code.py":1381
 *     """
 * 
 *     def __init__(self, cname, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.value = value
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_8NumConst_1__init__, 0, __pyx_mstate_global->__pyx_n_u_NumConst___init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[78])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_13, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_init_2, __pyx_t_13) < (0)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1372
 * 
 * 
 * class NumConst:             # <<<<<<<<<<<<<<
 *     """Global info about a Python number constant held by GlobalState.
 * 
*/
  __pyx_t_13 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_NumConst, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_10, NULL, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_NumConst, __pyx_t_13) < (0)) __PYX_ERR(0, 1372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1401
 * cython.declare(possible_unicode_identifier=object, possible_bytes_identifier=object,
 *                replace_identifier=object, find_alphanums=object)
 * possible_unicode_identifier = re.compile(r"(?![0-9])\w+$", re.U).match             # <<<<<<<<<<<<<<
 * possible_bytes_identifier = re.compile(br"(?![0-9])\w+$").match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
*/
  __pyx_t_13 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_13);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_mstate_global->__pyx_n_u_U); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_mstate_global->__pyx_kp_u_0_9_w, __pyx_t_8};
    __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_match); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_8);
  __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1402
 *                replace_identifier=object, find_alphanums=object)
 * possible_unicode_identifier = re.compile(r"(?![0-9])\w+$", re.U).match
 * possible_bytes_identifier = re.compile(br"(?![0-9])\w+$").match             # <<<<<<<<<<<<<<
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
*/
  __pyx_t_10 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_10);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_kp_b_0_9_w};
    __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_match); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier, __pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1403
 * possible_unicode_identifier = re.compile(r"(?![0-9])\w+$", re.U).match
 * possible_bytes_identifier = re.compile(br"(?![0-9])\w+$").match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub             # <<<<<<<<<<<<<<
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
 * 
*/
  __pyx_t_8 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_kp_u_a_zA_Z0_9};
    __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_sub); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_replace_identifier);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_replace_identifier, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_8);
  __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1404
 * possible_bytes_identifier = re.compile(br"(?![0-9])\w+$").match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall             # <<<<<<<<<<<<<<
 * 
 * class StringConst:
*/
  __pyx_t_10 = __pyx_v_6Cython_8Compiler_4Code_re;
  __Pyx_INCREF(__pyx_t_10);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_kp_u_a_zA_Z0_9_2};
    __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_compile, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_findall); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_find_alphanums);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_find_alphanums, __pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1422
 *         self.c_used = False
 * 
 *     def get_py_string_const(self, encoding, identifier=None):             # <<<<<<<<<<<<<<
 *         text = self.text
 *         intern: cython.bint
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11StringConst_3get_py_string_const, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_StringConst_get_py_string_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[79])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_StringConst, __pyx_mstate_global->__pyx_n_u_get_py_string_const, __pyx_t_10) < (0)) __PYX_ERR(0, 1422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1490
 * 
 * 
 * class GlobalState:             # <<<<<<<<<<<<<<
 *     # filename_table   {string : int}  for finding filename table indexes
 *     # filename_list    [string]        filenames in filename table order
*/
  __pyx_t_10 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_GlobalState_2, __pyx_mstate_global->__pyx_n_u_GlobalState_2, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "Cython/Compiler/Code.py":1519
 *     #                                  process.
 * 
 *     directives = {}             # <<<<<<<<<<<<<<
 * 
 *     code_layout = [
*/
  __pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_directives, __pyx_t_8) < (0)) __PYX_ERR(0, 1519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1521
 *     directives = {}
 * 
 *     code_layout = [             # <<<<<<<<<<<<<<
 *         'h_code',
 *         'filename_table',
*/
  __pyx_t_8 = __Pyx_PyList_Pack(41, __pyx_mstate_global->__pyx_n_u_h_code, __pyx_mstate_global->__pyx_n_u_filename_table, __pyx_mstate_global->__pyx_n_u_utility_code_proto_before_types, __pyx_mstate_global->__pyx_n_u_numeric_typedefs, __pyx_mstate_global->__pyx_n_u_complex_type_declarations, __pyx_mstate_global->__pyx_n_u_type_declarations, __pyx_mstate_global->__pyx_n_u_utility_code_proto, __pyx_mstate_global->__pyx_n_u_module_declarations, __pyx_mstate_global->__pyx_n_u_typeinfo, __pyx_mstate_global->__pyx_n_u_before_global_var, __pyx_mstate_global->__pyx_n_u_global_var, __pyx_mstate_global->__pyx_n_u_string_decls, __pyx_mstate_global->__pyx_n_u_decls, __pyx_mstate_global->__pyx_n_u_late_includes, __pyx_mstate_global->__pyx_n_u_module_state, __pyx_mstate_global->__pyx_n_u_module_state_contents, __pyx_mstate_global->__pyx_n_u_module_state_end, __pyx_mstate_global->__pyx_n_u_constant_name_defines, __pyx_mstate_global->__pyx_n_u_module_state_clear, __pyx_mstate_global->__pyx_n_u_module_state_clear_contents, __pyx_mstate_global->__pyx_n_u_module_state_clear_end, __pyx_mstate_global->__pyx_n_u_module_state_traverse, __pyx_mstate_global->__pyx_n_u_module_state_traverse_contents, __pyx_mstate_global->__pyx_n_u_module_state_traverse_end, __pyx_mstate_global->__pyx_n_u_module_code, __pyx_mstate_global->__pyx_n_u_module_exttypes, __pyx_mstate_global->__pyx_n_u_initfunc_declarations, __pyx_mstate_global->__pyx_n_u_init_module, __pyx_mstate_global->__pyx_n_u_pystring_table, __pyx_mstate_global->__pyx_n_u_cached_builtins, __pyx_mstate_global->__pyx_n_u_cached_constants, __pyx_mstate_global->__pyx_n_u_init_constants, __pyx_mstate_global->__pyx_n_u_init_codeobjects, __pyx_mstate_global->__pyx_n_u_init_globals, __pyx_mstate_global->__pyx_n_u_cleanup_globals, __pyx_mstate_global->__pyx_n_u_cleanup_module, __pyx_mstate_global->__pyx_n_u_main_method, __pyx_mstate_global->__pyx_n_u_utility_code_pragmas, __pyx_mstate_global->__pyx_n_u_utility_code_def, __pyx_mstate_global->__pyx_n_u_utility_code_pragmas_end, __pyx_mstate_global->__pyx_n_u_end); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_code_layout, __pyx_t_8) < (0)) __PYX_ERR(0, 1521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1566
 * 
 *     # h files can only have a much smaller list of sections
 *     h_code_layout = [             # <<<<<<<<<<<<<<
 *         'h_code',
 *         'utility_code_proto_before_types',
*/
  __pyx_t_8 = __Pyx_PyList_Pack(5, __pyx_mstate_global->__pyx_n_u_h_code, __pyx_mstate_global->__pyx_n_u_utility_code_proto_before_types, __pyx_mstate_global->__pyx_n_u_type_declarations, __pyx_mstate_global->__pyx_n_u_utility_code_proto, __pyx_mstate_global->__pyx_n_u_end); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_h_code_layout, __pyx_t_8) < (0)) __PYX_ERR(0, 1566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1574
 *     ]
 * 
 *     def __init__(self, writer, module_node, code_config, common_utility_include_dir=None):             # <<<<<<<<<<<<<<
 *         self.filename_table = {}
 *         self.filename_list = []
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_1__init__, 0, __pyx_mstate_global->__pyx_n_u_GlobalState___init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[80])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_init_2, __pyx_t_8) < (0)) __PYX_ERR(0, 1574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1602
 *         self.rootwriter = writer
 * 
 *     def initialize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for i, part in enumerate(self.code_layout):
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_3initialize_main_c_code, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_initialize_main_c_co, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[81])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_initialize_main_c_code, __pyx_t_8) < (0)) __PYX_ERR(0, 1602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1651
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
 *     def initialize_main_h_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for part in self.h_code_layout:
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_5initialize_main_h_code, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_initialize_main_h_co, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[82])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_initialize_main_h_code, __pyx_t_8) < (0)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1656
 *             self.parts[part] = rootwriter.insertion_point()
 * 
 *     def finalize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         self.close_global_decls()
 * 
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_7finalize_main_c_code, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_finalize_main_c_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[83])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_finalize_main_c_code, __pyx_t_8) < (0)) __PYX_ERR(0, 1656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1679
 *         code.putln("")
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         return self.parts[key]
 * 
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_9__getitem__, 0, __pyx_mstate_global->__pyx_n_u_GlobalState___getitem, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[84])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_getitem, __pyx_t_8) < (0)) __PYX_ERR(0, 1679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1685
 *     # Global constants, interned objects, etc.
 *     #
 *     def close_global_decls(self):             # <<<<<<<<<<<<<<
 *         # This is called when it is known that no more global declarations will
 *         # declared.
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_11close_global_decls, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_close_global_decls, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[85])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_close_global_decls, __pyx_t_8) < (0)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1733
 *             w.exit_cfunc_scope()
 * 
 *     def put_pyobject_decl(self, entry):             # <<<<<<<<<<<<<<
 *         self['global_var'].putln("static PyObject *%s;" % entry.cname)
 * 
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_13put_pyobject_decl, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_put_pyobject_decl, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[86])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_put_pyobject_decl, __pyx_t_8) < (0)) __PYX_ERR(0, 1733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1738
 *     # constant handling at code generation time
 * 
 *     def get_cached_constants_writer(self, target=None):             # <<<<<<<<<<<<<<
 *         if target is not None:
 *             if target in self.initialised_constants:
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_15get_cached_constants_writer, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_cached_constants, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[87])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_cached_constants_writer, __pyx_t_8) < (0)) __PYX_ERR(0, 1738, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1746
 *         return self.parts['cached_constants']
 * 
 *     def get_int_const(self, str_value, longness=False):             # <<<<<<<<<<<<<<
 *         py_type = longness and 'long' or 'int'
 *         try:
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_17get_int_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_int_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[88])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_int_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1754
 *         return c
 * 
 *     def get_float_const(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.num_const_index[(str_value, 'float')]
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_19get_float_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_float_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[89])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_float_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1761
 *         return c
 * 
 *     def get_py_const(self, prefix, dedup_key=None):             # <<<<<<<<<<<<<<
 *         if dedup_key is not None:
 *             const = self.dedup_const_index.get(dedup_key)
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_21get_py_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_py_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[90])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_py_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1761, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1771
 *         return const
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         cname = self.new_const_cname('')
 *         c = PyObjectConst(cname, type)
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_23get_argument_default_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_argument_default, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[91])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_argument_default_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1780
 *         return c
 * 
 *     def get_string_const(self, text, c_used=True):             # <<<<<<<<<<<<<<
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_25get_string_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_string_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[92])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_string_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1794
 *         return c
 * 
 *     def get_pyunicode_ptr_const(self, text):             # <<<<<<<<<<<<<<
 *         # return a Py_UNICODE[] constant, creating a new one if necessary
 *         assert text.is_unicode
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_27get_pyunicode_ptr_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_pyunicode_ptr_co, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[93])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_pyunicode_ptr_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1803
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None):             # <<<<<<<<<<<<<<
 *         # return a Python string constant, creating a new one if necessary
 *         c_string: StringConst = self.get_string_const(text, c_used=False)
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_29get_py_string_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_py_string_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[94])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_py_string_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1803, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1809
 *         return py_string
 * 
 *     def get_py_codeobj_const(self, node):             # <<<<<<<<<<<<<<
 *         idx = len(self.codeobject_constants)
 *         name = f"{Naming.codeobjtab_cname}[{idx}]"
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_31get_py_codeobj_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_py_codeobj_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[95])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_py_codeobj_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1815
 *         return name
 * 
 *     def get_interned_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_33get_interned_identifier, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_interned_identif, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[96])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_interned_identifier, __pyx_t_8) < (0)) __PYX_ERR(0, 1815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1818
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def new_string_const(self, text, byte_string):             # <<<<<<<<<<<<<<
 *         cname = self.new_string_const_cname(byte_string)
 *         c = StringConst(cname, text, byte_string)
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_35new_string_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_new_string_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[97])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_new_string_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1824
 *         return c
 * 
 *     def new_num_const(self, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         cname = self.new_num_const_cname(value, py_type)
 *         c = NumConst(cname, value, py_type, value_code)
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_37new_num_const, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_new_num_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[98])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_new_num_const, __pyx_t_8) < (0)) __PYX_ERR(0, 1824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1830
 *         return c
 * 
 *     def new_string_const_cname(self, bytes_value):             # <<<<<<<<<<<<<<
 *         # Create a new globally-unique nice name for a C string constant.
 *         value = bytes_value.decode('ASCII', 'ignore')
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_39new_string_const_cname, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_new_string_const_cna, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[99])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_new_string_const_cname, __pyx_t_8) < (0)) __PYX_ERR(0, 1830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1835
 *         return self.new_const_cname(value=value)
 * 
 *     def unique_const_cname(self, format_str):  # type: (str) -> str             # <<<<<<<<<<<<<<
 *         used = self.const_cnames_used
 *         cname = value = format_str.format(sep='', counter='')
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_41unique_const_cname, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_unique_const_cname, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[100])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_unique_const_cname, __pyx_t_8) < (0)) __PYX_ERR(0, 1835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1844
 *         return cname
 * 
 *     def new_num_const_cname(self, value, py_type):  # type: (str, str) -> str             # <<<<<<<<<<<<<<
 *         if py_type == 'long':
 *             value += 'L'
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_43new_num_const_cname, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_new_num_const_cname, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[101])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_new_num_const_cname, __pyx_t_8) < (0)) __PYX_ERR(0, 1844, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1859
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_45new_const_cname, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_new_const_cname, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[102])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[39]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_new_const_cname, __pyx_t_8) < (0)) __PYX_ERR(0, 1859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1868
 *         return "%s%s" % (prefix, name_suffix)
 * 
 *     def new_array_const_cname(self, prefix: str):             # <<<<<<<<<<<<<<
 *         count = self.const_array_counters.get(prefix, 0)
 *         self.const_array_counters[prefix] = count+1
*/
  __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_prefix, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 1868, __pyx_L1_error)
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_47new_array_const_cname, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_new_array_const_cnam, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[103])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_13, __pyx_t_8);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_new_array_const_cname, __pyx_t_13) < (0)) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1873
 *         return f"{Naming.pyrex_prefix}{prefix}[{count}]"
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name):             # <<<<<<<<<<<<<<
 *         key = (type_cname, method_name)
 *         try:
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_49get_cached_unbound_method, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_get_cached_unbound_m, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[104])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_get_cached_unbound_method, __pyx_t_13) < (0)) __PYX_ERR(0, 1873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1882
 *         return cname
 * 
 *     def cached_unbound_method_call_code(self, modulestate_cname, obj_cname, type_cname, method_name, arg_cnames):             # <<<<<<<<<<<<<<
 *         # admittedly, not the best place to put this method, but it is reused by UtilityCode and ExprNodes ...
 *         utility_code_name = "CallUnboundCMethod%d" % len(arg_cnames)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_51cached_unbound_method_call_code, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_cached_unbound_metho, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[105])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_cached_unbound_method_call_code, __pyx_t_13) < (0)) __PYX_ERR(0, 1882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1895
 *         )
 * 
 *     def add_cached_builtin_decl(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_53add_cached_builtin_decl, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_add_cached_builtin_d, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[106])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_add_cached_builtin_decl, __pyx_t_13) < (0)) __PYX_ERR(0, 1895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1906
 *                     entry.cname)
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):             # <<<<<<<<<<<<<<
 *         w = self.parts['cached_builtins']
 *         cname_in_modulestate = w.name_in_main_c_code_module_state(
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_55put_cached_builtin_init, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_put_cached_builtin_i, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[107])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_put_cached_builtin_init, __pyx_t_13) < (0)) __PYX_ERR(0, 1906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1918
 *             w.error_goto(pos)))
 * 
 *     def generate_const_declarations(self):             # <<<<<<<<<<<<<<
 *         self.generate_cached_methods_decls()
 *         self.generate_object_constant_decls()
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_57generate_const_declarations, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_const_decla, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[108])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_const_declarations, __pyx_t_13) < (0)) __PYX_ERR(0, 1918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1928
 *         self.generate_num_constants()
 * 
 *     def _generate_module_array_traverse_and_clear(self, struct_attr_cname, count, may_have_refcycles=True):             # <<<<<<<<<<<<<<
 *         counter_type = 'int' if count < 2**15 else 'Py_ssize_t'
 *         visit_call = "Py_VISIT" if may_have_refcycles else "__Pyx_VISIT_CONST"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_59_generate_module_array_traverse_and_clear, 0, __pyx_mstate_global->__pyx_n_u_GlobalState__generate_module_arr, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[109])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_13, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_module_array_traverse, __pyx_t_13) < (0)) __PYX_ERR(0, 1928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1938
 *         writer.putln(f"for ({counter_type} i=0; i<{count}; ++i) {{ Py_CLEAR(clear_module_state->{struct_attr_cname}[i]); }}")
 * 
 *     def generate_object_constant_decls(self):             # <<<<<<<<<<<<<<
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.arg_default_constants]
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_61generate_object_constant_decls, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_object_cons, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[110])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_object_constant_decls, __pyx_t_13) < (0)) __PYX_ERR(0, 1938, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":1980
 *                 )
 * 
 *     def generate_cached_methods_decls(self):             # <<<<<<<<<<<<<<
 *         if not self.cached_cmethods:
 *             return
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_63generate_cached_methods_decls, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_cached_meth, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[111])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_cached_methods_decls, __pyx_t_13) < (0)) __PYX_ERR(0, 1980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2009
 *                 cleanup.putln(f"Py_CLEAR({init.name_in_main_c_code_module_state(cname)}.method);")
 * 
 *     def generate_string_constants(self):             # <<<<<<<<<<<<<<
 *         c_consts = []
 *         py_bytes_consts = []
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_65generate_string_constants, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_string_cons, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[112])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_string_constants, __pyx_t_13) < (0)) __PYX_ERR(0, 2009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2062
 *         self.generate_pystring_constants(py_unicode_consts, py_bytes_consts)
 * 
 *     def generate_pystring_constants(self, text_strings: list, byte_strings: list):             # <<<<<<<<<<<<<<
 *         # Concatenate all strings into one byte sequence and build a length index array.
 *         defines = self.parts['constant_name_defines']
*/
  __pyx_t_13 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (PyDict_SetItem(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_text_strings, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 2062, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_byte_strings, __pyx_mstate_global->__pyx_n_u_list) < (0)) __PYX_ERR(0, 2062, __pyx_L1_error)
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_67generate_pystring_constants, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_pystring_co, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[113])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_8, __pyx_t_13);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_pystring_constants, __pyx_t_8) < (0)) __PYX_ERR(0, 2062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2204
 *         w.putln("}")  # close block
 * 
 *     def generate_codeobject_constants(self):             # <<<<<<<<<<<<<<
 *         w = self.parts['init_codeobjects']
 *         init_function = (
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_69generate_codeobject_constants, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_codeobject, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[114])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_codeobject_constants, __pyx_t_8) < (0)) __PYX_ERR(0, 2204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2269
 *         self._generate_module_array_traverse_and_clear(Naming.codeobjtab_cname, code_object_count, may_have_refcycles=False)
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, len(c.value.lstrip('-')), c.value.lstrip('-'), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_71generate_num_constants, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_generate_num_constan_6, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[115])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_generate_num_constants, __pyx_t_8) < (0)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2418
 *             w)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def immortalize_constants(array_cname, constant_count, writer):
 *         writer.putln("#if CYTHON_IMMORTAL_CONSTANTS")
*/
  __pyx_t_13 = NULL;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_73immortalize_constants, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_mstate_global->__pyx_n_u_GlobalState_immortalize_constant, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[116])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_2);
  #endif
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_2};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_immortalize_constants, __pyx_t_8) < (0)) __PYX_ERR(0, 2418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2448
 *     # to see quickly how BlockNode worked, until this is replaced.
 * 
 *     def should_declare(self, cname, entry):             # <<<<<<<<<<<<<<
 *         if cname in self.declared_cnames:
 *             other = self.declared_cnames[cname]
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_75should_declare, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_should_declare, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[117])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_should_declare, __pyx_t_8) < (0)) __PYX_ERR(0, 2448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2462
 *     #
 * 
 *     def lookup_filename(self, source_desc):             # <<<<<<<<<<<<<<
 *         entry = source_desc.get_filenametable_entry()
 *         try:
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_77lookup_filename, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_lookup_filename, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[118])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_lookup_filename, __pyx_t_8) < (0)) __PYX_ERR(0, 2462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2472
 *         return index
 * 
 *     def commented_file_contents(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             return self.input_file_contents[source_desc]
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_79commented_file_contents, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_commented_file_conte, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[119])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_commented_file_contents, __pyx_t_8) < (0)) __PYX_ERR(0, 2472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2494
 *     #
 * 
 *     def use_utility_code(self, utility_code, used_by=None):             # <<<<<<<<<<<<<<
 *         """
 *         Adds code to the C file. utility_code should
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_81use_utility_code, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_use_utility_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[120])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_use_utility_code, __pyx_t_8) < (0)) __PYX_ERR(0, 2494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2507
 *             utility_code.put_code(self, used_by=used_by)
 * 
 *     def use_entry_utility_code(self, entry):             # <<<<<<<<<<<<<<
 *         if entry is None:
 *             return
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_83use_entry_utility_code, 0, __pyx_mstate_global->__pyx_n_u_GlobalState_use_entry_utility_co, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[121])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_use_entry_utility_code, __pyx_t_8) < (0)) __PYX_ERR(0, 2507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1490
 * 
 * 
 * class GlobalState:             # <<<<<<<<<<<<<<
 *     # filename_table   {string : int}  for finding filename table indexes
 *     # filename_list    [string]        filenames in filename table order
*/
  __pyx_t_8 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_GlobalState_2, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_10, NULL, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_GlobalState_2, __pyx_t_8) < (0)) __PYX_ERR(0, 1490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2520
 * 
 * 
 * def funccontext_property(func):             # <<<<<<<<<<<<<<
 *     name = func.__name__
 *     attribute_of = operator.attrgetter(name)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_23funccontext_property, 0, __pyx_mstate_global->__pyx_n_u_funccontext_property, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[122])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_funccontext_property, __pyx_t_10) < (0)) __PYX_ERR(0, 2520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2530
 * 
 * 
 * class CCodeConfig:             # <<<<<<<<<<<<<<
 *     # emit_linenums       boolean         write #line pragmas?
 *     # emit_code_comments  boolean         copy the original code into C comments?
*/
  __pyx_t_10 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_CCodeConfig, __pyx_mstate_global->__pyx_n_u_CCodeConfig, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "Cython/Compiler/Code.py":2535
 *     # c_line_in_traceback boolean         append the c file and line number to the traceback for exceptions?
 * 
 *     def __init__(self, emit_linenums=True, emit_code_comments=True, c_line_in_traceback=True):             # <<<<<<<<<<<<<<
 *         self.emit_code_comments = emit_code_comments
 *         self.emit_linenums = emit_linenums
*/
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeConfig_1__init__, 0, __pyx_mstate_global->__pyx_n_u_CCodeConfig___init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[123])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[40]);
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_init_2, __pyx_t_8) < (0)) __PYX_ERR(0, 2535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2530
 * 
 * 
 * class CCodeConfig:             # <<<<<<<<<<<<<<
 *     # emit_linenums       boolean         write #line pragmas?
 *     # emit_code_comments  boolean         copy the original code into C comments?
*/
  __pyx_t_8 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_CCodeConfig, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_10, NULL, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CCodeConfig, __pyx_t_8) < (0)) __PYX_ERR(0, 2530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2599
 *             self.last_marked_pos = create_from.last_marked_pos
 * 
 *     def create_new(self, create_from, buffer, copy_formatting):             # <<<<<<<<<<<<<<
 *         # polymorphic constructor -- very slightly more versatile
 *         # than using __class__
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_3create_new, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_create_new, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[124])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_create_new, __pyx_t_10) < (0)) __PYX_ERR(0, 2599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2605
 *         return result
 * 
 *     def set_global_state(self, global_state):             # <<<<<<<<<<<<<<
 *         assert self.globalstate is None  # prevent overwriting once it's set
 *         self.globalstate = global_state
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_set_global_state, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[125])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_set_global_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2610
 *         self.code_config = global_state.code_config
 * 
 *     def copyto(self, f):             # <<<<<<<<<<<<<<
 *         self.buffer.copyto(f)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_7copyto, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_copyto, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[126])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_copyto, __pyx_t_10) < (0)) __PYX_ERR(0, 2610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2613
 *         self.buffer.copyto(f)
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.getvalue()
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_getvalue, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[127])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_getvalue, __pyx_t_10) < (0)) __PYX_ERR(0, 2613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2616
 *         return self.buffer.getvalue()
 * 
 *     def write(self, s):             # <<<<<<<<<<<<<<
 *         if '\n' in s:
 *             self._write_lines(s)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_11write, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_write, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[128])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_write, __pyx_t_10) < (0)) __PYX_ERR(0, 2616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2632
 *         self._write_to_buffer(s)
 * 
 *     def _write_to_buffer(self, s):             # <<<<<<<<<<<<<<
 *         self.buffer.write(s)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_13_write_to_buffer, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter__write_to_buffer, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[129])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_write_to_buffer, __pyx_t_10) < (0)) __PYX_ERR(0, 2632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2635
 *         self.buffer.write(s)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         other = self.create_new(create_from=self, buffer=self.buffer.insertion_point(), copy_formatting=True)
 *         return other
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_15insertion_point, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_insertion_point, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[130])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_insertion_point, __pyx_t_10) < (0)) __PYX_ERR(0, 2635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2639
 *         return other
 * 
 *     def new_writer(self):             # <<<<<<<<<<<<<<
 *         """
 *         Creates a new CCodeWriter connected to the same global state, which
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_17new_writer, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_new_writer, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[131])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_new_writer, __pyx_t_10) < (0)) __PYX_ERR(0, 2639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2646
 *         return CCodeWriter(create_from=self)
 * 
 *     def insert(self, writer):             # <<<<<<<<<<<<<<
 *         """
 *         Inserts the contents of another code writer (created with
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_19insert, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_insert, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[132])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_insert, __pyx_t_10) < (0)) __PYX_ERR(0, 2646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2657
 * 
 *     # Properties delegated to function scope
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def label_counter(self): pass
 *     @funccontext_property
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_21label_counter, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_label_counter, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[133])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_label_counter, __pyx_t_10) < (0)) __PYX_ERR(0, 2657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetNameInClass(__pyx_t_13, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_label_counter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_13};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_label_counter, __pyx_t_10) < (0)) __PYX_ERR(0, 2657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2659
 *     @funccontext_property
 *     def label_counter(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def return_label(self): pass
 *     @funccontext_property
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_23return_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_return_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[134])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_return_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GetNameInClass(__pyx_t_8, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_return_label); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_return_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2661
 *     @funccontext_property
 *     def return_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def error_label(self): pass
 *     @funccontext_property
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_25error_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_error_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[135])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_13 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_2};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2663
 *     @funccontext_property
 *     def error_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def labels_used(self): pass
 *     @funccontext_property
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_27labels_used, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_labels_used, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[136])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_labels_used, __pyx_t_10) < (0)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetNameInClass(__pyx_t_13, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_labels_used); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_13};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_labels_used, __pyx_t_10) < (0)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2665
 *     @funccontext_property
 *     def labels_used(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def continue_label(self): pass
 *     @funccontext_property
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_29continue_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_continue_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[137])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_continue_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GetNameInClass(__pyx_t_8, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_continue_label); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_continue_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2667
 *     @funccontext_property
 *     def continue_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def break_label(self): pass
 *     @funccontext_property
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_31break_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_break_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[138])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_break_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_13 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_break_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_2};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_break_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2669
 *     @funccontext_property
 *     def break_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def return_from_error_cleanup_label(self): pass
 *     @funccontext_property
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_33return_from_error_cleanup_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_return_from_error_cl, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[139])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_return_from_error_cleanup_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetNameInClass(__pyx_t_13, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_return_from_error_cleanup_label); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_13};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_return_from_error_cleanup_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2671
 *     @funccontext_property
 *     def return_from_error_cleanup_label(self): pass
 *     @funccontext_property             # <<<<<<<<<<<<<<
 *     def yield_labels(self): pass
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_35yield_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_yield_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[140])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_yield_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_funccontext_property); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GetNameInClass(__pyx_t_8, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_yield_labels); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_yield_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2674
 *     def yield_labels(self): pass
 * 
 *     def label_interceptor(self, new_labels, orig_labels, skip_to_label=None, pos=None, trace=True):             # <<<<<<<<<<<<<<
 *         """
 *         Helper for generating multiple label interceptor code blocks.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_37label_interceptor, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_label_interceptor, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[13])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[41]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_label_interceptor, __pyx_t_10) < (0)) __PYX_ERR(0, 2674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2699
 * 
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)             # <<<<<<<<<<<<<<
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_40new_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_new_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[141])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_new_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2700
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)             # <<<<<<<<<<<<<<
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_42new_error_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_new_error_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[142])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_new_error_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2701
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)             # <<<<<<<<<<<<<<
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_44new_yield_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_new_yield_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[143])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_new_yield_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2702
 *     def new_error_label(self, *args):  return self.funcstate.new_error_label(*args)
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()             # <<<<<<<<<<<<<<
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_46get_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_loop_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[144])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_loop_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2703
 *     def new_yield_label(self, *args):  return self.funcstate.new_yield_label(*args)
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)             # <<<<<<<<<<<<<<
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_48set_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_set_loop_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[145])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_set_loop_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2704
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)             # <<<<<<<<<<<<<<
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_50new_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_new_loop_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[146])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_new_loop_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2705
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()             # <<<<<<<<<<<<<<
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_52get_all_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_all_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[147])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_all_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2706
 *     def new_loop_labels(self, *args):  return self.funcstate.new_loop_labels(*args)
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)             # <<<<<<<<<<<<<<
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_54set_all_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_set_all_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[148])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_set_all_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2707
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()             # <<<<<<<<<<<<<<
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)
 *     def label_used(self, lbl):         return self.funcstate.label_used(lbl)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_56all_new_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_all_new_labels, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[149])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_all_new_labels, __pyx_t_10) < (0)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2708
 *     def set_all_labels(self, labels):  return self.funcstate.set_all_labels(labels)
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)             # <<<<<<<<<<<<<<
 *     def label_used(self, lbl):         return self.funcstate.label_used(lbl)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_58use_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_use_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[150])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_use_label, __pyx_t_10) < (0)) __PYX_ERR(0, 2708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2709
 *     def all_new_labels(self):          return self.funcstate.all_new_labels()
 *     def use_label(self, lbl):          return self.funcstate.use_label(lbl)
 *     def label_used(self, lbl):         return self.funcstate.label_used(lbl)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_60label_used, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_label_used, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[151])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_label_used, __pyx_t_10) < (0)) __PYX_ERR(0, 2709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2712
 * 
 * 
 *     def enter_cfunc_scope(self, scope):             # <<<<<<<<<<<<<<
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_62enter_cfunc_scope, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_enter_cfunc_scope, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[152])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_enter_cfunc_scope, __pyx_t_10) < (0)) __PYX_ERR(0, 2712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2715
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 *     def exit_cfunc_scope(self):             # <<<<<<<<<<<<<<
 *         if self.funcstate is None:
 *             return
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_64exit_cfunc_scope, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_exit_cfunc_scope, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[153])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_exit_cfunc_scope, __pyx_t_10) < (0)) __PYX_ERR(0, 2715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2721
 *         self.funcstate = None
 * 
 *     def start_initcfunc(self, signature, scope=None, refnanny=False):             # <<<<<<<<<<<<<<
 *         """
 *         Init code helper function to start a cfunc scope and generate
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_66start_initcfunc, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_start_initcfunc, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[154])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[42]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_start_initcfunc, __pyx_t_10) < (0)) __PYX_ERR(0, 2721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2734
 *             self.put_declare_refcount_context()
 * 
 *     def start_slotfunc(self, class_scope, return_type, c_slot_name, args_signature, needs_funcstate=True, needs_prototype=False):             # <<<<<<<<<<<<<<
 *         # Slot functions currently live in the class scope as they don't have direct access to the module state.
 *         slotfunc_cname = class_scope.mangle_internal(c_slot_name)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_68start_slotfunc, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_start_slotfunc, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[155])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[43]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_start_slotfunc, __pyx_t_10) < (0)) __PYX_ERR(0, 2734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2748
 *     # constant handling
 * 
 *     def get_py_int(self, str_value, longness):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_int_const(str_value, longness).cname
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_70get_py_int, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_py_int, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[156])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_py_int, __pyx_t_10) < (0)) __PYX_ERR(0, 2748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2753
 *         )
 * 
 *     def get_py_float(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_float_const(str_value, value_code).cname
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_72get_py_float, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_py_float, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[157])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_py_float, __pyx_t_10) < (0)) __PYX_ERR(0, 2753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2758
 *         )
 * 
 *     def get_py_const(self, prefix, dedup_key=None):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(
 *             self.globalstate.get_py_const(prefix, dedup_key)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_74get_py_const, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_py_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[158])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_py_const, __pyx_t_10) < (0)) __PYX_ERR(0, 2758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2763
 *         )
 * 
 *     def get_string_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_string_const(text).cname
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_76get_string_const, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_string_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[159])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_string_const, __pyx_t_10) < (0)) __PYX_ERR(0, 2763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2766
 *         return self.globalstate.get_string_const(text).cname
 * 
 *     def get_pyunicode_ptr_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_78get_pyunicode_ptr_const, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_pyunicode_ptr_co, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[160])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_pyunicode_ptr_const, __pyx_t_10) < (0)) __PYX_ERR(0, 2766, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2769
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None):             # <<<<<<<<<<<<<<
 *         cname = self.globalstate.get_py_string_const(
 *             text, identifier).cname
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_80get_py_string_const, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_py_string_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[161])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_py_string_const, __pyx_t_10) < (0)) __PYX_ERR(0, 2769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2774
 *         return self.name_in_module_state(cname)
 * 
 *     def get_py_codeobj_const(self, node):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(self.globalstate.get_py_codeobj_const(node))
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_82get_py_codeobj_const, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_py_codeobj_const, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[162])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_py_codeobj_const, __pyx_t_10) < (0)) __PYX_ERR(0, 2774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2777
 *         return self.name_in_module_state(self.globalstate.get_py_codeobj_const(node))
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         return self.name_in_module_state(self.globalstate.get_argument_default_const(type).cname)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_84get_argument_default_const, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_argument_default, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[163])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_argument_default_const, __pyx_t_10) < (0)) __PYX_ERR(0, 2777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2780
 *         return self.name_in_module_state(self.globalstate.get_argument_default_const(type).cname)
 * 
 *     def intern(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_86intern, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_intern, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[164])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_intern, __pyx_t_10) < (0)) __PYX_ERR(0, 2780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2783
 *         return self.get_py_string_const(text)
 * 
 *     def intern_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_88intern_identifier, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_intern_identifier, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[165])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_intern_identifier, __pyx_t_10) < (0)) __PYX_ERR(0, 2783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2786
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def get_cached_constants_writer(self, target=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_cached_constants_writer(target)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_90get_cached_constants_writer, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_cached_constants, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[166])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_cached_constants_writer, __pyx_t_10) < (0)) __PYX_ERR(0, 2786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2789
 *         return self.globalstate.get_cached_constants_writer(target)
 * 
 *     def name_in_module_state(self, cname):             # <<<<<<<<<<<<<<
 *         if self.funcstate.scope is None:
 *             # This is a mess. For example, within the codeobj generation
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_92name_in_module_state, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_name_in_module_state, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[167])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_name_in_module_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2799
 *         return self.funcstate.scope.name_in_module_state(cname)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def name_in_main_c_code_module_state(cname):
 *         # The functions where this applies to have the modulestate passed
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_94name_in_main_c_code_module_state, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_name_in_main_c_code, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[168])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_13 = NULL;
  __Pyx_GetNameInClass(__pyx_t_8, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_8};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_name_in_main_c_code_module_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2806
 *         return f"{Naming.modulestatevalue_cname}->{cname}"
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def name_in_slot_module_state(cname):
 *         # TODO - eventually this will go through PyType_GetModuleByDef
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_96name_in_slot_module_state, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_name_in_slot_module, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[169])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_name_in_slot_module_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_8 = NULL;
  __Pyx_GetNameInClass(__pyx_t_13, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_name_in_slot_module_state); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_13};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_name_in_slot_module_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2812
 *         return f"{Naming.modulestateglobal_cname}->{cname}"
 * 
 *     def namespace_cname_in_module_state(self, scope):             # <<<<<<<<<<<<<<
 *         if scope.is_py_class_scope:
 *             return scope.namespace_cname
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_98namespace_cname_in_module_state, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_namespace_cname_in_m, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[170])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_namespace_cname_in_module_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2818
 *             return self.name_in_module_state(scope.namespace_cname)
 * 
 *     def typeptr_cname_in_module_state(self, type):             # <<<<<<<<<<<<<<
 *         if type.is_extension_type:
 *             return self.name_in_module_state(type.typeptr_cname)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_100typeptr_cname_in_module_state, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_typeptr_cname_in_mod, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[171])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_typeptr_cname_in_module_state, __pyx_t_10) < (0)) __PYX_ERR(0, 2818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2826
 *     # code generation
 * 
 *     def putln(self, code="", safe=False):             # <<<<<<<<<<<<<<
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_102putln, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_putln, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[172])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_putln, __pyx_t_10) < (0)) __PYX_ERR(0, 2826, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2840
 *         self.bol = 1
 * 
 *     def mark_pos(self, pos, trace=True):             # <<<<<<<<<<<<<<
 *         if pos is None:
 *             return
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_104mark_pos, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_mark_pos, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[173])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_mark_pos, __pyx_t_10) < (0)) __PYX_ERR(0, 2840, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2859
 *             self.write_trace_line(pos)
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def write_trace_line(self, pos):
 *         if self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_106write_trace_line, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_write_trace_line, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[174])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_write_trace_line, __pyx_t_10) < (0)) __PYX_ERR(0, 2859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2877
 *         return f'/[inserted by cython to avoid comment start]* "{source_desc.get_escaped_description()}":{line:d}\n{code}\n*[inserted by cython to avoid comment closer]/\n'
 * 
 *     def put_safe(self, code):             # <<<<<<<<<<<<<<
 *         # put code, but ignore {}
 *         self.write(code)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_108put_safe, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_safe, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[175])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_safe, __pyx_t_10) < (0)) __PYX_ERR(0, 2877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2882
 *         self.bol = 0
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_110put_or_include, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_or_include, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[176])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_or_include, __pyx_t_10) < (0)) __PYX_ERR(0, 2882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2919
 *         self.put(code)
 * 
 *     def put(self, code):             # <<<<<<<<<<<<<<
 *         fix_indent = False
 *         dl: cython.Py_ssize_t = code.count("{") if "{" in code else 0
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_112put, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[177])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put, __pyx_t_10) < (0)) __PYX_ERR(0, 2919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":2939
 *             self.level += 1
 * 
 *     def put_code_here(self, utility: UtilityCode):             # <<<<<<<<<<<<<<
 *         # Puts the impl section of the utility code directly to the current position.
 *         # Ensure we don't have a proto section (but do allow init and cleanup sections
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_utility, __pyx_mstate_global->__pyx_n_u_UtilityCode) < (0)) __PYX_ERR(0, 2939, __pyx_L1_error)
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_114put_code_here, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_code_here, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[178])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_13, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_code_here, __pyx_t_13) < (0)) __PYX_ERR(0, 2939, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2958
 *         self.level -= 1
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def begin_block(self):
 *         self.putln("{")
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_116begin_block, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_begin_block, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[179])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_begin_block, __pyx_t_13) < (0)) __PYX_ERR(0, 2958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2963
 *         self.increase_indent()
 * 
 *     @cython.final             # <<<<<<<<<<<<<<
 *     def end_block(self):
 *         self.decrease_indent()
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_118end_block, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_end_block, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[180])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_end_block, __pyx_t_13) < (0)) __PYX_ERR(0, 2963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2972
 *         self._write_to_buffer("  " * self.level)
 * 
 *     def get_py_version_hex(self, pyversion):             # <<<<<<<<<<<<<<
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_120get_py_version_hex, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_get_py_version_hex, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[181])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_get_py_version_hex, __pyx_t_13) < (0)) __PYX_ERR(0, 2972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2975
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
 *     def put_label(self, lbl):             # <<<<<<<<<<<<<<
 *         if lbl in self.funcstate.labels_used:
 *             self.putln("%s:;" % lbl)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_122put_label, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_label, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[182])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_label, __pyx_t_13) < (0)) __PYX_ERR(0, 2975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2979
 *             self.putln("%s:;" % lbl)
 * 
 *     def put_goto(self, lbl):             # <<<<<<<<<<<<<<
 *         self.funcstate.use_label(lbl)
 *         self.putln("goto %s;" % lbl)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_124put_goto, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_goto, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[183])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_goto, __pyx_t_13) < (0)) __PYX_ERR(0, 2979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":2983
 *         self.putln("goto %s;" % lbl)
 * 
 *     def put_var_declaration(self, entry, storage_class="",             # <<<<<<<<<<<<<<
 *                             dll_linkage=None, definition=True):
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_declaration, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_declaration, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[184])); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_13, __pyx_mstate_global->__pyx_tuple[45]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_declaration, __pyx_t_13) < (0)) __PYX_ERR(0, 2983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":3009
 *         self.globalstate.use_entry_utility_code(entry)
 * 
 *     def put_temp_declarations(self, func_context: FunctionState):             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             if type.is_cpp_class and not type.is_fake_reference and func_context.scope.directives['cpp_locals']:
*/
  __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (PyDict_SetItem(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_func_context, __pyx_mstate_global->__pyx_n_u_FunctionState) < (0)) __PYX_ERR(0, 3009, __pyx_L1_error)
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_128put_temp_declarations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_temp_declaration, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[185])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_13);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_temp_declarations, __pyx_t_10) < (0)) __PYX_ERR(0, 3009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3032
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
 *     def put_generated_by(self):             # <<<<<<<<<<<<<<
 *         self.putln(Utils.GENERATED_BY_MARKER)
 *         self.putln("")
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_130put_generated_by, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_generated_by, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[186])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_generated_by, __pyx_t_10) < (0)) __PYX_ERR(0, 3032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3036
 *         self.putln("")
 * 
 *     def put_h_guard(self, guard):             # <<<<<<<<<<<<<<
 *         self.putln("#ifndef %s" % guard)
 *         self.putln("#define %s" % guard)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_132put_h_guard, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_h_guard, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[187])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_h_guard, __pyx_t_10) < (0)) __PYX_ERR(0, 3036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3040
 *         self.putln("#define %s" % guard)
 * 
 *     def unlikely(self, cond):             # <<<<<<<<<<<<<<
 *         if Options.gcc_branch_hints:
 *             return 'unlikely(%s)' % cond
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_134unlikely, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_unlikely, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[188])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_unlikely, __pyx_t_10) < (0)) __PYX_ERR(0, 3040, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3046
 *             return cond
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):             # <<<<<<<<<<<<<<
 *         if not modifiers:
 *             return ''
*/
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_modifier_output_mapper); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_mstate_global->__pyx_k__70 = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_modifier_output_mapper); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_13 = PyTuple_Pack(1, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_136build_function_modifiers, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_build_function_modif, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[189])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_13);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_build_function_modifiers, __pyx_t_10) < (0)) __PYX_ERR(0, 3046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3053
 *     # Python objects and reference counting
 * 
 *     def entry_as_pyobject(self, entry):             # <<<<<<<<<<<<<<
 *         type = entry.type
 *         if (not entry.is_self_arg and not entry.type.is_complete()
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_138entry_as_pyobject, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_entry_as_pyobject, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[190])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_entry_as_pyobject, __pyx_t_10) < (0)) __PYX_ERR(0, 3053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3061
 *             return entry.cname
 * 
 *     def as_pyobject(self, cname, type):             # <<<<<<<<<<<<<<
 *         from .PyrexTypes import py_object_type, typecast
 *         return typecast(py_object_type, type, cname)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_140as_pyobject, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_as_pyobject, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[191])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_as_pyobject, __pyx_t_10) < (0)) __PYX_ERR(0, 3061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3065
 *         return typecast(py_object_type, type, cname)
 * 
 *     def put_gotref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_gotref(self, cname)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_142put_gotref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_gotref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[192])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_gotref, __pyx_t_10) < (0)) __PYX_ERR(0, 3065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3068
 *         type.generate_gotref(self, cname)
 * 
 *     def put_giveref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_giveref(self, cname)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_144put_giveref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_giveref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[193])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_giveref, __pyx_t_10) < (0)) __PYX_ERR(0, 3068, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3071
 *         type.generate_giveref(self, cname)
 * 
 *     def put_xgiveref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_xgiveref(self, cname)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_146put_xgiveref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_xgiveref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[194])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_xgiveref, __pyx_t_10) < (0)) __PYX_ERR(0, 3071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3074
 *         type.generate_xgiveref(self, cname)
 * 
 *     def put_xgotref(self, cname, type):             # <<<<<<<<<<<<<<
 *         type.generate_xgotref(self, cname)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_148put_xgotref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_xgotref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[195])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_xgotref, __pyx_t_10) < (0)) __PYX_ERR(0, 3074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3077
 *         type.generate_xgotref(self, cname)
 * 
 *     def put_incref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         # Note: original put_Memslice_Incref/Decref also added in some utility code
 *         # this is unnecessary since the relevant utility code is loaded anyway if a memoryview is used
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_150put_incref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_incref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[196])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_incref, __pyx_t_10) < (0)) __PYX_ERR(0, 3077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3083
 *         type.generate_incref(self, cname, nanny=nanny)
 * 
 *     def put_xincref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         type.generate_xincref(self, cname, nanny=nanny)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_152put_xincref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_xincref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[197])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_xincref, __pyx_t_10) < (0)) __PYX_ERR(0, 3083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3086
 *         type.generate_xincref(self, cname, nanny=nanny)
 * 
 *     def put_decref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_154put_decref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_decref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[198])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_decref, __pyx_t_10) < (0)) __PYX_ERR(0, 3086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3089
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_156put_xdecref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_xdecref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[199])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_xdecref, __pyx_t_10) < (0)) __PYX_ERR(0, 3089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3092
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
 *     def put_decref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_158put_decref_clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_decref_clear, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[200])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[47]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_decref_clear, __pyx_t_10) < (0)) __PYX_ERR(0, 3092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3096
 *                               nanny=nanny, have_gil=have_gil)
 * 
 *     def put_xdecref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_160put_xdecref_clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_xdecref_clear, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[201])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[47]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_xdecref_clear, __pyx_t_10) < (0)) __PYX_ERR(0, 3096, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3100
 *                               nanny=nanny, have_gil=have_gil)
 * 
 *     def put_decref_set(self, cname, type, rhs_cname):             # <<<<<<<<<<<<<<
 *         type.generate_decref_set(self, cname, rhs_cname)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_162put_decref_set, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_decref_set, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[202])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_decref_set, __pyx_t_10) < (0)) __PYX_ERR(0, 3100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3103
 *         type.generate_decref_set(self, cname, rhs_cname)
 * 
 *     def put_xdecref_set(self, cname, type, rhs_cname):             # <<<<<<<<<<<<<<
 *         type.generate_xdecref_set(self, cname, rhs_cname)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_164put_xdecref_set, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_xdecref_set, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[203])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_xdecref_set, __pyx_t_10) < (0)) __PYX_ERR(0, 3103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3106
 *         type.generate_xdecref_set(self, cname, rhs_cname)
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, type, have_gil):             # <<<<<<<<<<<<<<
 *         # TODO ideally this would just be merged into "put_incref"
 *         type.generate_incref_memoryviewslice(self, slice_cname, have_gil=have_gil)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_incref_memoryvie, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[204])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_incref_memoryviewslice, __pyx_t_10) < (0)) __PYX_ERR(0, 3106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3110
 *         type.generate_incref_memoryviewslice(self, slice_cname, have_gil=have_gil)
 * 
 *     def put_var_incref_memoryviewslice(self, entry, have_gil):             # <<<<<<<<<<<<<<
 *         self.put_incref_memoryviewslice(entry.cname, entry.type, have_gil=have_gil)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_168put_var_incref_memoryviewslice, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_incref_memor, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[205])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_incref_memoryviewslice, __pyx_t_10) < (0)) __PYX_ERR(0, 3110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3113
 *         self.put_incref_memoryviewslice(entry.cname, entry.type, have_gil=have_gil)
 * 
 *     def put_var_gotref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_gotref(entry.cname, entry.type)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_170put_var_gotref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_gotref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[206])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_gotref, __pyx_t_10) < (0)) __PYX_ERR(0, 3113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3116
 *         self.put_gotref(entry.cname, entry.type)
 * 
 *     def put_var_giveref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_giveref(entry.cname, entry.type)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_172put_var_giveref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_giveref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[207])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_giveref, __pyx_t_10) < (0)) __PYX_ERR(0, 3116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3119
 *         self.put_giveref(entry.cname, entry.type)
 * 
 *     def put_var_xgotref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_xgotref(entry.cname, entry.type)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_174put_var_xgotref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xgotref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[208])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xgotref, __pyx_t_10) < (0)) __PYX_ERR(0, 3119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3122
 *         self.put_xgotref(entry.cname, entry.type)
 * 
 *     def put_var_xgiveref(self, entry):             # <<<<<<<<<<<<<<
 *         self.put_xgiveref(entry.cname, entry.type)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_176put_var_xgiveref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xgiveref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[209])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xgiveref, __pyx_t_10) < (0)) __PYX_ERR(0, 3122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3125
 *         self.put_xgiveref(entry.cname, entry.type)
 * 
 *     def put_var_incref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_incref(entry.cname, entry.type, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_178put_var_incref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_incref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[210])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_incref, __pyx_t_10) < (0)) __PYX_ERR(0, 3125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3128
 *         self.put_incref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_xincref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xincref(entry.cname, entry.type, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_180put_var_xincref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xincref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[211])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xincref, __pyx_t_10) < (0)) __PYX_ERR(0, 3128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3131
 *         self.put_xincref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_decref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref(entry.cname, entry.type, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_182put_var_decref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_decref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[212])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_decref, __pyx_t_10) < (0)) __PYX_ERR(0, 3131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3134
 *         self.put_decref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_xdecref(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref(entry.cname, entry.type, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_184put_var_xdecref, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xdecref, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[213])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xdecref, __pyx_t_10) < (0)) __PYX_ERR(0, 3134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3137
 *         self.put_xdecref(entry.cname, entry.type, **kwds)
 * 
 *     def put_var_decref_clear(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_186put_var_decref_clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_decref_clear, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[214])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_decref_clear, __pyx_t_10) < (0)) __PYX_ERR(0, 3137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3140
 *         self.put_decref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
 *     def put_var_decref_set(self, entry, rhs_cname, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_decref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_188put_var_decref_set, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_decref_set, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[215])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_decref_set, __pyx_t_10) < (0)) __PYX_ERR(0, 3140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3143
 *         self.put_decref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
 *     def put_var_xdecref_set(self, entry, rhs_cname, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_190put_var_xdecref_set, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xdecref_set, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[216])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xdecref_set, __pyx_t_10) < (0)) __PYX_ERR(0, 3143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3146
 *         self.put_xdecref_set(entry.cname, entry.type, rhs_cname, **kwds)
 * 
 *     def put_var_xdecref_clear(self, entry, **kwds):             # <<<<<<<<<<<<<<
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_192put_var_xdecref_clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xdecref_clea, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[217])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xdecref_clear, __pyx_t_10) < (0)) __PYX_ERR(0, 3146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3149
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             if not used_only or entry.used:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_194put_var_decrefs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_decrefs, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[218])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[48]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_decrefs, __pyx_t_10) < (0)) __PYX_ERR(0, 3149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3157
 *                     self.put_var_decref(entry)
 * 
 *     def put_var_xdecrefs(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref(entry)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_196put_var_xdecrefs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xdecrefs, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[219])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xdecrefs, __pyx_t_10) < (0)) __PYX_ERR(0, 3157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3161
 *             self.put_var_xdecref(entry)
 * 
 *     def put_var_xdecrefs_clear(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref_clear(entry)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_198put_var_xdecrefs_clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_var_xdecrefs_cle, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[220])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_var_xdecrefs_clear, __pyx_t_10) < (0)) __PYX_ERR(0, 3161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3165
 *             self.put_var_xdecref_clear(entry)
 * 
 *     def put_make_object_deferred(self, cname):             # <<<<<<<<<<<<<<
 *         # Deferred reference counting is probably only worthwhile on global classes
 *         # that we expect to be long-term accessible.  So for now exclude it if not
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_200put_make_object_deferred, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_make_object_defe, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[221])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_make_object_deferred, __pyx_t_10) < (0)) __PYX_ERR(0, 3165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3176
 *             self.putln("#endif")
 * 
 *     def put_init_to_py_none(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         from .PyrexTypes import py_object_type, typecast
 *         py_none = typecast(type, py_object_type, "Py_None")
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_202put_init_to_py_none, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_init_to_py_none, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[222])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_init_to_py_none, __pyx_t_10) < (0)) __PYX_ERR(0, 3176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3184
 *             self.putln("%s = %s; Py_INCREF(Py_None);" % (cname, py_none))
 * 
 *     def put_init_var_to_py_none(self, entry, template = "%s", nanny=True):             # <<<<<<<<<<<<<<
 *         code = template % entry.cname
 *         #if entry.type.is_extension_type:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_204put_init_var_to_py_none, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_init_var_to_py_n, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[223])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[49]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_init_var_to_py_none, __pyx_t_10) < (0)) __PYX_ERR(0, 3184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3192
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):             # <<<<<<<<<<<<<<
 *         is_number_slot = False
 *         if entry.is_special or entry.name == '__getattribute__':
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_206put_pymethoddef, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_pymethoddef, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[224])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[50]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_pymethoddef, __pyx_t_10) < (0)) __PYX_ERR(0, 3192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3241
 *             self.putln("#endif")
 * 
 *     def put_pymethoddef_wrapper(self, entry):             # <<<<<<<<<<<<<<
 *         func_cname = entry.func_cname
 *         if entry.is_special:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_208put_pymethoddef_wrapper, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_pymethoddef_wrap, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[225])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_pymethoddef_wrapper, __pyx_t_10) < (0)) __PYX_ERR(0, 3241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3263
 *     # GIL methods
 * 
 *     def use_fast_gil_utility_code(self):             # <<<<<<<<<<<<<<
 *         if self.globalstate.directives['fast_gil']:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_210use_fast_gil_utility_code, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_use_fast_gil_utility, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[226])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_use_fast_gil_utility_code, __pyx_t_10) < (0)) __PYX_ERR(0, 3263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3269
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("NoFastGil", "ModuleSetupCode.c"))
 * 
 *     def put_ensure_gil(self, declare_gilstate=True, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The generated code is safe even when no PyThreadState
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_212put_ensure_gil, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_ensure_gil, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[227])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[50]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_ensure_gil, __pyx_t_10) < (0)) __PYX_ERR(0, 3269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3292
 *         self.putln("%s = __Pyx_PyGILState_Ensure();" % variable)
 * 
 *     def put_release_ensured_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Releases the GIL, corresponds to `put_ensure_gil`.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_214put_release_ensured_gil, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_release_ensured, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[228])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_release_ensured_gil, __pyx_t_10) < (0)) __PYX_ERR(0, 3292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3301
 *         self.putln("__Pyx_PyGILState_Release(%s);" % variable)
 * 
 *     def put_acquire_freethreading_lock(self):             # <<<<<<<<<<<<<<
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Lock(&{Naming.parallel_freethreading_mutex});")
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_216put_acquire_freethreading_lock, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_acquire_freethre, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[229])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_acquire_freethreading_lock, __pyx_t_10) < (0)) __PYX_ERR(0, 3301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3306
 *         self.putln("#endif")
 * 
 *     def put_release_freethreading_lock(self):             # <<<<<<<<<<<<<<
 *         self.putln("#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING")
 *         self.putln(f"PyMutex_Unlock(&{Naming.parallel_freethreading_mutex});")
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_218put_release_freethreading_lock, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_release_freethre, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[230])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_release_freethreading_lock, __pyx_t_10) < (0)) __PYX_ERR(0, 3306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3311
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None, unknown_gil_state=True):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The thread's thread state must have been initialized
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_220put_acquire_gil, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_acquire_gil, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[231])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[51]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_acquire_gil, __pyx_t_10) < (0)) __PYX_ERR(0, 3311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3328
 *         self.putln(f"{func_name}(_save);")
 * 
 *     def put_release_gil(self, variable=None, unknown_gil_state=True):             # <<<<<<<<<<<<<<
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.use_fast_gil_utility_code()
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_222put_release_gil, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_release_gil, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[232])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[51]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_release_gil, __pyx_t_10) < (0)) __PYX_ERR(0, 3328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3345
 *         self.putln("__Pyx_FastGIL_Remember();")
 * 
 *     def declare_gilstate(self):             # <<<<<<<<<<<<<<
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_224declare_gilstate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_declare_gilstate, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[233])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_declare_gilstate, __pyx_t_10) < (0)) __PYX_ERR(0, 3345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3350
 *     # error handling
 * 
 *     def put_error_if_neg(self, pos, value):             # <<<<<<<<<<<<<<
 *         # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         # return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_226put_error_if_neg, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_error_if_neg, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[234])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_error_if_neg, __pyx_t_10) < (0)) __PYX_ERR(0, 3350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3355
 *         return self.putln("if (%s < (0)) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):             # <<<<<<<<<<<<<<
 *         nogil_tag = "Nogil" if in_nogil_context else ""
 *         if entry.from_closure:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_228put_error_if_unbound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_error_if_unbound, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[235])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[52]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_error_if_unbound, __pyx_t_10) < (0)) __PYX_ERR(0, 3355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3379
 *                                 self.error_goto(pos)))
 * 
 *     def set_error_info(self, pos, used=False):             # <<<<<<<<<<<<<<
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_230set_error_info, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_set_error_info, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[236])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_set_error_info, __pyx_t_10) < (0)) __PYX_ERR(0, 3379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3387
 *             pos[1])
 * 
 *     def error_goto(self, pos, used=True):             # <<<<<<<<<<<<<<
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_232error_goto, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_error_goto, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[237])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_goto, __pyx_t_10) < (0)) __PYX_ERR(0, 3387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3400
 *             lbl)
 * 
 *     def error_goto_if(self, cond, pos):             # <<<<<<<<<<<<<<
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_234error_goto_if, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_error_goto_if, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[238])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_goto_if, __pyx_t_10) < (0)) __PYX_ERR(0, 3400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3403
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
 *     def error_goto_if_null(self, cname, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_236error_goto_if_null, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_error_goto_if_null, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[239])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_goto_if_null, __pyx_t_10) < (0)) __PYX_ERR(0, 3403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3406
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
 *     def error_goto_if_neg(self, cname, pos):             # <<<<<<<<<<<<<<
 *         # Add extra parentheses to silence clang warnings about constant conditions.
 *         return self.error_goto_if("(%s < 0)" % cname, pos)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_238error_goto_if_neg, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_error_goto_if_neg, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[240])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_goto_if_neg, __pyx_t_10) < (0)) __PYX_ERR(0, 3406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3410
 *         return self.error_goto_if("(%s < 0)" % cname, pos)
 * 
 *     def error_goto_if_PyErr(self, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_240error_goto_if_PyErr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_error_goto_if_PyErr, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[241])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_error_goto_if_PyErr, __pyx_t_10) < (0)) __PYX_ERR(0, 3410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3413
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
 *     def lookup_filename(self, filename):             # <<<<<<<<<<<<<<
 *         return self.globalstate.lookup_filename(filename)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_242lookup_filename, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_lookup_filename, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[242])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_lookup_filename, __pyx_t_10) < (0)) __PYX_ERR(0, 3413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3416
 *         return self.globalstate.lookup_filename(filename)
 * 
 *     def put_declare_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_244put_declare_refcount_context, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_declare_refcount, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[243])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_declare_refcount_context, __pyx_t_10) < (0)) __PYX_ERR(0, 3416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3419
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):             # <<<<<<<<<<<<<<
 *         name = name.as_c_string_literal()  # handle unicode names
 *         if acquire_gil:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_246put_setup_refcount_context, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_setup_refcount_c, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[244])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_setup_refcount_context, __pyx_t_10) < (0)) __PYX_ERR(0, 3419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3426
 *         self.putln('__Pyx_RefNannySetupContext(%s, %d);' % (name, acquire_gil and 1 or 0))
 * 
 *     def put_finish_refcount_context(self, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_RefNannyFinishContextNogil()" if nogil else "__Pyx_RefNannyFinishContext();")
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_248put_finish_refcount_context, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_finish_refcount, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[245])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_finish_refcount_context, __pyx_t_10) < (0)) __PYX_ERR(0, 3426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3429
 *         self.putln("__Pyx_RefNannyFinishContextNogil()" if nogil else "__Pyx_RefNannyFinishContext();")
 * 
 *     def put_add_traceback(self, qualified_name, include_cline=True):             # <<<<<<<<<<<<<<
 *         """
 *         Build a Python traceback for propagating exceptions.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_250put_add_traceback, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_add_traceback, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[246])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_add_traceback, __pyx_t_10) < (0)) __PYX_ERR(0, 3429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3446
 *         self.putln('__Pyx_AddTraceback(%s, %s, %s, %s);' % format_tuple)
 * 
 *     def put_unraisable(self, qualified_name, nogil=False):             # <<<<<<<<<<<<<<
 *         """
 *         Generate code to print a Python warning for an unraisable exception.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_252put_unraisable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_unraisable, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[247])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_unraisable, __pyx_t_10) < (0)) __PYX_ERR(0, 3446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3464
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 *     def is_tracing(self):             # <<<<<<<<<<<<<<
 *         return self.globalstate.directives['profile'] or self.globalstate.directives['linetrace']
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_254is_tracing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_is_tracing, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[248])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_is_tracing, __pyx_t_10) < (0)) __PYX_ERR(0, 3464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3467
 *         return self.globalstate.directives['profile'] or self.globalstate.directives['linetrace']
 * 
 *     def pos_to_offset(self, pos):             # <<<<<<<<<<<<<<
 *         """
 *         Calculate a fake 'instruction offset' from a node position as 31 bit int (32 bit signed).
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_256pos_to_offset, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_pos_to_offset, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[249])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_pos_to_offset, __pyx_t_10) < (0)) __PYX_ERR(0, 3467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3476
 *         return scope.node_positions_to_offset[pos] if scope else 0
 * 
 *     def put_trace_declarations(self, is_generator=False):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceDeclarationsGen' if is_generator else '__Pyx_TraceDeclarationsFunc')
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_258put_trace_declarations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_declaratio, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[250])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_declarations, __pyx_t_10) < (0)) __PYX_ERR(0, 3476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3479
 *         self.putln('__Pyx_TraceDeclarationsGen' if is_generator else '__Pyx_TraceDeclarationsFunc')
 * 
 *     def put_trace_frame_init(self, codeobj=None):             # <<<<<<<<<<<<<<
 *         if codeobj:
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_260put_trace_frame_init, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_frame_init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[251])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_frame_init, __pyx_t_10) < (0)) __PYX_ERR(0, 3479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3483
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_start(self, name, pos, nogil=False, is_generator=False, is_cpdef_func=False):             # <<<<<<<<<<<<<<
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"
 *         self.putln(
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_262put_trace_start, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_start, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[252])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[53]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_start, __pyx_t_10) < (0)) __PYX_ERR(0, 3483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3497
 *         )
 * 
 *     def put_trace_exit(self, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_PyMonitoring_ExitScope({bool(nogil):d});")
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_264put_trace_exit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_exit, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[253])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_exit, __pyx_t_10) < (0)) __PYX_ERR(0, 3497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3500
 *         self.putln(f"__Pyx_PyMonitoring_ExitScope({bool(nogil):d});")
 * 
 *     def put_trace_yield(self, retvalue_cname, pos):             # <<<<<<<<<<<<<<
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_266put_trace_yield, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_yield, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[254])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_yield, __pyx_t_10) < (0)) __PYX_ERR(0, 3500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3504
 *         self.putln(f"__Pyx_TraceYield({retvalue_cname}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
 *     def put_trace_resume(self, pos):             # <<<<<<<<<<<<<<
 *         scope = self.funcstate.scope
 *         # pos[1] is probably not the first line, so try to find the first line of the generator function.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_268put_trace_resume, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_resume, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[255])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_resume, __pyx_t_10) < (0)) __PYX_ERR(0, 3504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3521
 *         )
 * 
 *     def put_trace_exception(self, pos, reraise=False, fresh=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_270put_trace_exception, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_exception, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[256])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[54]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_exception, __pyx_t_10) < (0)) __PYX_ERR(0, 3521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3524
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")
 * 
 *     def put_trace_exception_propagating(self):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceException({Naming.lineno_cname}, 0, 0);")
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_272put_trace_exception_propagating, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_exception_2, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[257])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_exception_propagating, __pyx_t_10) < (0)) __PYX_ERR(0, 3524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3527
 *         self.putln(f"__Pyx_TraceException({Naming.lineno_cname}, 0, 0);")
 * 
 *     def put_trace_exception_handled(self, pos):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceExceptionHandled({self.pos_to_offset(pos)});")
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_274put_trace_exception_handled, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_exception_3, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[258])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_exception_handled, __pyx_t_10) < (0)) __PYX_ERR(0, 3527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3530
 *         self.putln(f"__Pyx_TraceExceptionHandled({self.pos_to_offset(pos)});")
 * 
 *     def put_trace_unwind(self, pos, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceExceptionUnwind({self.pos_to_offset(pos)}, {bool(nogil):d});")
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_276put_trace_unwind, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_unwind, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[259])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_unwind, __pyx_t_10) < (0)) __PYX_ERR(0, 3530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3533
 *         self.putln(f"__Pyx_TraceExceptionUnwind({self.pos_to_offset(pos)}, {bool(nogil):d});")
 * 
 *     def put_trace_stopiteration(self, pos, value):             # <<<<<<<<<<<<<<
 *         error_goto = self.error_goto(pos)
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_278put_trace_stopiteration, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_stopiterat, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[260])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_stopiteration, __pyx_t_10) < (0)) __PYX_ERR(0, 3533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3537
 *         self.putln(f"__Pyx_TraceStopIteration({value}, {self.pos_to_offset(pos)}, {error_goto});")
 * 
 *     def put_trace_return(self, retvalue_cname, pos, return_type=None, nogil=False):             # <<<<<<<<<<<<<<
 *         extra_arg = ""
 *         trace_func = "__Pyx_TraceReturnValue"
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_280put_trace_return, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_trace_return, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[261])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[42]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_trace_return, __pyx_t_10) < (0)) __PYX_ERR(0, 3537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3562
 * 
 *     def put_cpp_placement_new(self, target,
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):             # <<<<<<<<<<<<<<
 *         self.globalstate.use_utility_code(_utility_code)
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")
*/
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[55], NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_mstate_global->__pyx_k__77 = __pyx_t_13;
  __Pyx_GIVEREF(__pyx_t_13);
  __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":3561
 *         self.putln(f"{trace_func}({retvalue_cname}{extra_arg}, {self.pos_to_offset(pos)}, {bool(nogil):d}, {error_handling});")
 * 
 *     def put_cpp_placement_new(self, target,             # <<<<<<<<<<<<<<
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):
 *         self.globalstate.use_utility_code(_utility_code)
*/
  __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_UtilityCode), __pyx_mstate_global->__pyx_n_u_load); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);

  /* "Cython/Compiler/Code.py":3562
 * 
 *     def put_cpp_placement_new(self, target,
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):             # <<<<<<<<<<<<<<
 *         self.globalstate.use_utility_code(_utility_code)
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")
*/
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_mstate_global->__pyx_tuple[55], NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "Cython/Compiler/Code.py":3561
 *         self.putln(f"{trace_func}({retvalue_cname}{extra_arg}, {self.pos_to_offset(pos)}, {bool(nogil):d}, {error_handling});")
 * 
 *     def put_cpp_placement_new(self, target,             # <<<<<<<<<<<<<<
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):
 *         self.globalstate.use_utility_code(_utility_code)
*/
  __pyx_t_13 = PyTuple_Pack(1, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_282put_cpp_placement_new, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_put_cpp_placement_ne, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[262])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_13);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_put_cpp_placement_new, __pyx_t_10) < (0)) __PYX_ERR(0, 3561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3566
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")
 * 
 *     def putln_openmp(self, string):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_284putln_openmp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_putln_openmp, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[263])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_putln_openmp, __pyx_t_10) < (0)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3571
 *         self.putln("#endif /[inserted by cython to avoid comment start]* _OPENMP *[inserted by cython to avoid comment closer]/")
 * 
 *     def undef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         """
 *         Redefine the macros likely() and unlikely to no-ops, depending on
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_286undef_builtin_expect, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_undef_builtin_expect, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[264])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_undef_builtin_expect, __pyx_t_10) < (0)) __PYX_ERR(0, 3571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3583
 *         self.putln("#endif")
 * 
 *     def redef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_288redef_builtin_expect, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_CCodeWriter_redef_builtin_expect, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[265])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_CCodeWriter, __pyx_mstate_global->__pyx_n_u_redef_builtin_expect, __pyx_t_10) < (0)) __PYX_ERR(0, 3583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3600
 *         self.level = 0
 * 
 *     def putln(self, code):             # <<<<<<<<<<<<<<
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_3putln, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyrexCodeWriter_putln, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[266])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter, __pyx_mstate_global->__pyx_n_u_putln, __pyx_t_10) < (0)) __PYX_ERR(0, 3600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3603
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_5indent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyrexCodeWriter_indent, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[267])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter, __pyx_mstate_global->__pyx_n_u_indent, __pyx_t_10) < (0)) __PYX_ERR(0, 3603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3606
 *         self.level += 1
 * 
 *     def dedent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_7dedent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyrexCodeWriter_dedent, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[268])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter, __pyx_mstate_global->__pyx_n_u_dedent, __pyx_t_10) < (0)) __PYX_ERR(0, 3606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3623
 *         self._insertion_points = {}
 * 
 *     def indent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level += levels
 *         return True
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_indent, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[269])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[56]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_indent, __pyx_t_10) < (0)) __PYX_ERR(0, 3623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3627
 *         return True
 * 
 *     def dedent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level -= levels
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_dedent, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[270])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[56]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_dedent, __pyx_t_10) < (0)) __PYX_ERR(0, 3627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3630
 *         self.level -= levels
 * 
 *     @contextmanager             # <<<<<<<<<<<<<<
 *     def indenter(self, line):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_indenter, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[14])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_indenter, __pyx_t_10) < (0)) __PYX_ERR(0, 3630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_13 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_contextmanager); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject*)__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_indenter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_2};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_indenter, __pyx_t_10) < (0)) __PYX_ERR(0, 3630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3641
 *         self.dedent()
 * 
 *     def empty(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.empty()
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_10empty, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_empty, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[271])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_empty_2, __pyx_t_10) < (0)) __PYX_ERR(0, 3641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3644
 *         return self.buffer.empty()
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_12getvalue, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_getvalue, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[272])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_getvalue, __pyx_t_10) < (0)) __PYX_ERR(0, 3644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3650
 *         return result
 * 
 *     def putln(self, line, context=None):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             if self.context is not None:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_14putln, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_putln, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[273])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_putln, __pyx_t_10) < (0)) __PYX_ERR(0, 3650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3659
 *         self.buffer.write(f"{self.level * '    '}{line}\n" if line else "\n")
 * 
 *     def put_chunk(self, chunk, context=None):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             if self.context is not None:
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_16put_chunk, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_put_chunk, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[274])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[31]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_put_chunk, __pyx_t_10) < (0)) __PYX_ERR(0, 3659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3669
 *         self.buffer.write(chunk)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         return type(self)(self.buffer.insertion_point(), self.level, self.context)
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_18insertion_point, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_insertion_point, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[275])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_insertion_point, __pyx_t_10) < (0)) __PYX_ERR(0, 3669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3672
 *         return type(self)(self.buffer.insertion_point(), self.level, self.context)
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         # resets the buffer so that nothing gets written. Most useful
 *         # for abandoning all work in a specific insertion point
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_20reset, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_reset, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[276])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_reset, __pyx_t_10) < (0)) __PYX_ERR(0, 3672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3678
 *         self.level = self.original_level
 * 
 *     def named_insertion_point(self, name):             # <<<<<<<<<<<<<<
 *         self._insertion_points[name] = self.insertion_point()
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_22named_insertion_point, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PyxCodeWriter_named_insertion_po, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[277])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_6Cython_8Compiler_4Code_PyxCodeWriter, __pyx_mstate_global->__pyx_n_u_named_insertion_point, __pyx_t_10) < (0)) __PYX_ERR(0, 3678, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3685
 * 
 * 
 * @cython.final             # <<<<<<<<<<<<<<
 * @cython.ccall
 * def _indent_chunk(chunk: str, indentation_length: cython.int) -> str:
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_chunk, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(0, 3685, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_indentation_length, __pyx_mstate_global->__pyx_kp_u_cython_int) < (0)) __PYX_ERR(0, 3685, __pyx_L1_error)
  __pyx_t_8 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_25_indent_chunk, 0, __pyx_mstate_global->__pyx_n_u_indent_chunk, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[278])); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_8);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_8, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_indent_chunk, __pyx_t_8) < (0)) __PYX_ERR(0, 3685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":3745
 * 
 * 
 * class ClosureTempAllocator:             # <<<<<<<<<<<<<<
 *     def __init__(self, klass):
 *         self.klass = klass
*/
  __pyx_t_8 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator, __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);

  /* "Cython/Compiler/Code.py":3746
 * 
 * class ClosureTempAllocator:
 *     def __init__(self, klass):             # <<<<<<<<<<<<<<
 *         self.klass = klass
 *         self.temps_allocated = {}
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__, 0, __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator___init, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[279])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_init_2, __pyx_t_10) < (0)) __PYX_ERR(0, 3746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3752
 *         self.temps_count = 0
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         for type, cnames in self.temps_allocated.items():
 *             self.temps_free[type] = list(cnames)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_3reset, 0, __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator_reset, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[280])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_reset, __pyx_t_10) < (0)) __PYX_ERR(0, 3752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3756
 *             self.temps_free[type] = list(cnames)
 * 
 *     def allocate_temp(self, type):             # <<<<<<<<<<<<<<
 *         if type not in self.temps_allocated:
 *             self.temps_allocated[type] = []
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp, 0, __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator_allocate_te, NULL, __pyx_mstate_global->__pyx_n_u_Cython_Compiler_Code, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[281])); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_allocate_temp, __pyx_t_10) < (0)) __PYX_ERR(0, 3756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":3745
 * 
 * 
 * class ClosureTempAllocator:             # <<<<<<<<<<<<<<
 *     def __init__(self, klass):
 *         self.klass = klass
*/
  __pyx_t_10 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_8, NULL, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_ClosureTempAllocator, __pyx_t_10) < (0)) __PYX_ERR(0, 3745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  if (__pyx_m) {
    if (__pyx_mstate->__pyx_d && stringtab_initialized) {
      __Pyx_AddTraceback("init Cython.Compiler.Code", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    #if !CYTHON_USE_MODULE_STATE
    Py_CLEAR(__pyx_m);
    #else
    Py_DECREF(__pyx_m);
    if (pystate_addmodule_run) {
      PyObject *tp, *value, *tb;
      PyErr_Fetch(&tp, &value, &tb);
      PyState_RemoveModule(&__pyx_moduledef);
      PyErr_Restore(tp, value, tb);
    }
    #endif
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init Cython.Compiler.Code");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #else
  return __pyx_m;
  #endif
}
/* #### Code section: pystring_table ### */
/* #### Code section: cached_builtins ### */

static int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate) {
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(0, 460, __pyx_L1_error)
  __pyx_builtin_vars = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_vars); if (!__pyx_builtin_vars) __PYX_ERR(0, 477, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 529, __pyx_L1_error)
  __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_super); if (!__pyx_builtin_super) __PYX_ERR(0, 1066, __pyx_L1_error)
  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 1227, __pyx_L1_error)
  __pyx_builtin_map = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_map); if (!__pyx_builtin_map) __PYX_ERR(0, 2086, __pyx_L1_error)
  __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_max); if (!__pyx_builtin_max) __PYX_ERR(0, 2095, __pyx_L1_error)
  __pyx_builtin_reversed = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_reversed); if (!__pyx_builtin_reversed) __PYX_ERR(0, 2104, __pyx_L1_error)
  __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_property); if (!__pyx_builtin_property) __PYX_ERR(0, 2527, __pyx_L1_error)

  /* Cached unbound methods */
  __pyx_mstate->__pyx_umethod_PyDict_Type_get.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_get.method_name = &__pyx_mstate->__pyx_n_u_get;
  __pyx_mstate->__pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_items.method_name = &__pyx_mstate->__pyx_n_u_items;
  __pyx_mstate->__pyx_umethod_PyDict_Type_pop.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_pop.method_name = &__pyx_mstate->__pyx_n_u_pop;
  __pyx_mstate->__pyx_umethod_PyDict_Type_values.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_values.method_name = &__pyx_mstate->__pyx_n_u_values;
  __pyx_mstate->__pyx_umethod_PyList_Type_pop.type = (PyObject*)&PyList_Type;
  __pyx_mstate->__pyx_umethod_PyList_Type_pop.method_name = &__pyx_mstate->__pyx_n_u_pop;
  __pyx_mstate->__pyx_umethod_PyByteArray_Type__reverse.type = (PyObject*)(&PyByteArray_Type);
  __pyx_mstate->__pyx_umethod_PyByteArray_Type__reverse.method_name = &__pyx_mstate->__pyx_n_u_reverse;
  __pyx_mstate->__pyx_umethod_PyUnicode_Type__strip.type = (PyObject*)(&PyUnicode_Type);
  __pyx_mstate->__pyx_umethod_PyUnicode_Type__strip.method_name = &__pyx_mstate->__pyx_n_u_strip;
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cached_constants ### */

static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "Cython/Compiler/Code.py":394
 *     """
 *     filename = os.path.join(get_utility_dir(), path)
 *     with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:             # <<<<<<<<<<<<<<
 *         return f.readlines()
 * 
*/
  __pyx_mstate_global->__pyx_tuple[0] = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[0])) __PYX_ERR(0, 394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[0]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[0]);

  /* "Cython/Compiler/Code.py":582
 * 
 *         if '::' in util_code_name:
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)             # <<<<<<<<<<<<<<
 *         assert from_file
 *         utilities = cls.load_utilities_from_file(from_file)
*/
  __pyx_mstate_global->__pyx_tuple[1] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__11, __pyx_mstate_global->__pyx_int_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[1])) __PYX_ERR(0, 582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[1]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[1]);

  /* "Cython/Compiler/Code.py":760
 * 
 *         for proto in export_proto.split(';\n'):
 *             proto = proto.strip().replace('\n', '')             # <<<<<<<<<<<<<<
 *             proto = re.sub(r'\s+', ' ', proto)
 * 
*/
  __pyx_mstate_global->__pyx_tuple[2] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__3, __pyx_mstate_global->__pyx_kp_u__9); if (unlikely(!__pyx_mstate_global->__pyx_tuple[2])) __PYX_ERR(0, 760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[2]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[2]);

  /* "Cython/Compiler/Code.py":955
 *     content = matchobj.group(1).replace('"', r'\042')
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'             # <<<<<<<<<<<<<<
 *         for line in content.splitlines())
 * 
*/
  __pyx_mstate_global->__pyx_slice[0] = PySlice_New(Py_None, __pyx_mstate_global->__pyx_int_neg_1, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[0])) __PYX_ERR(0, 955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[0]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);

  /* "Cython/Compiler/Code.py":953
 *     """Replace CSTRING('''xyz''') by a C compatible string, taking care of line breaks.
 *     """
 *     content = matchobj.group(1).replace('"', r'\042')             # <<<<<<<<<<<<<<
 *     return ''.join(
 *         f'"{line}\\n"\n' if not line.endswith('\\') or line.endswith('\\\\') else f'"{line[:-1]}"\n'
*/
  __pyx_mstate_global->__pyx_tuple[3] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__33, __pyx_mstate_global->__pyx_kp_u_042); if (unlikely(!__pyx_mstate_global->__pyx_tuple[3])) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[3]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[3]);

  /* "Cython/Compiler/Code.py":981
 *     type_cname, method_name, obj_cname, args = matchobj.groups()
 *     type_cname = '&%s' % type_cname
 *     args = [arg.strip() for arg in args[1:].split(',')] if args else []             # <<<<<<<<<<<<<<
 *     assert len(args) < 3, f"CALL_UNBOUND_METHOD() does not support {len(args):d} call arguments"
 *     return output.cached_unbound_method_call_code(
*/
  __pyx_mstate_global->__pyx_slice[1] = PySlice_New(__pyx_mstate_global->__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[1])) __PYX_ERR(0, 981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[1]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[1]);

  /* "Cython/Compiler/Code.py":1274
 *             type = PyrexTypes.c_ptr_type(type)  # A function itself isn't an l-value
 *         elif type.is_cpp_class and not type.is_fake_reference and self.scope.directives['cpp_locals']:
 *             self.scope.use_utility_code(UtilityCode.load_cached("OptionalLocals", "CppSupport.cpp"))             # <<<<<<<<<<<<<<
 *         if not type.needs_refcounting:
 *             # Make manage_ref canonical, so that manage_ref will always mean
*/
  __pyx_mstate_global->__pyx_tuple[4] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_OptionalLocals, __pyx_mstate_global->__pyx_kp_u_CppSupport_cpp); if (unlikely(!__pyx_mstate_global->__pyx_tuple[4])) __PYX_ERR(0, 1274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[4]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[4]);

  /* "Cython/Compiler/Code.py":1663
 *         #
 *         code = self.parts['utility_code_def']
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")             # <<<<<<<<<<<<<<
 *         code.put(util.format_code(util.impl))
 *         code.putln("")
*/
  __pyx_mstate_global->__pyx_tuple[5] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_TypeConversions, __pyx_mstate_global->__pyx_kp_u_TypeConversion_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[5])) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[5]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[5]);

  /* "Cython/Compiler/Code.py":1671
 *         #
 *         code = self.parts['utility_code_pragmas']
 *         util = UtilityCode.load_cached("UtilityCodePragmas", "ModuleSetupCode.c")             # <<<<<<<<<<<<<<
 *         code.putln(util.format_code(util.impl))
 *         code.putln("")
*/
  __pyx_mstate_global->__pyx_tuple[6] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_UtilityCodePragmas, __pyx_mstate_global->__pyx_kp_u_ModuleSetupCode_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[6]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]);

  /* "Cython/Compiler/Code.py":1675
 *         code.putln("")
 *         code = self.parts['utility_code_pragmas_end']
 *         util = UtilityCode.load_cached("UtilityCodePragmasEnd", "ModuleSetupCode.c")             # <<<<<<<<<<<<<<
 *         code.putln(util.format_code(util.impl))
 *         code.putln("")
*/
  __pyx_mstate_global->__pyx_tuple[7] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_UtilityCodePragmasEnd, __pyx_mstate_global->__pyx_kp_u_ModuleSetupCode_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[7])) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[7]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[7]);

  /* "Cython/Compiler/Code.py":1699
 * 
 *         w = self.parts['cached_constants']
 *         for const_type in ["tuple", "slice"]:             # <<<<<<<<<<<<<<
 *             if const_type in self.const_array_counters:
 *                 self.immortalize_constants(
*/
  __pyx_mstate_global->__pyx_tuple[8] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_tuple, __pyx_mstate_global->__pyx_n_u_slice); if (unlikely(!__pyx_mstate_global->__pyx_tuple[8])) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[8]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[8]);

  /* "Cython/Compiler/Code.py":1714
 *         w.exit_cfunc_scope()
 * 
 *         for part in ['init_globals', 'init_constants']:             # <<<<<<<<<<<<<<
 *             w = self.parts[part]
 *             w.putln("return 0;")
*/
  __pyx_mstate_global->__pyx_tuple[9] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_init_globals, __pyx_mstate_global->__pyx_n_u_init_constants); if (unlikely(!__pyx_mstate_global->__pyx_tuple[9])) __PYX_ERR(0, 1714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[9]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[9]);

  /* "Cython/Compiler/Code.py":1832
 *     def new_string_const_cname(self, bytes_value):
 *         # Create a new globally-unique nice name for a C string constant.
 *         value = bytes_value.decode('ASCII', 'ignore')             # <<<<<<<<<<<<<<
 *         return self.new_const_cname(value=value)
 * 
*/
  __pyx_mstate_global->__pyx_tuple[10] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_ASCII, __pyx_mstate_global->__pyx_n_u_ignore); if (unlikely(!__pyx_mstate_global->__pyx_tuple[10])) __PYX_ERR(0, 1832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[10]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[10]);

  /* "Cython/Compiler/Code.py":1850
 *         prefix = Naming.interned_prefixes[py_type]
 * 
 *         value = value.replace('.', '_').replace('+', '_').replace('-', 'neg_')             # <<<<<<<<<<<<<<
 *         if len(value) > 42:
 *             # update tests/run/large_integer_T5290.py in case the amount is changed
*/
  __pyx_mstate_global->__pyx_tuple[11] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__4, __pyx_mstate_global->__pyx_n_u__26); if (unlikely(!__pyx_mstate_global->__pyx_tuple[11])) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[11]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[11]);
  __pyx_mstate_global->__pyx_tuple[12] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__44, __pyx_mstate_global->__pyx_n_u__26); if (unlikely(!__pyx_mstate_global->__pyx_tuple[12])) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[12]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[12]);
  __pyx_mstate_global->__pyx_tuple[13] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__45, __pyx_mstate_global->__pyx_n_u_neg); if (unlikely(!__pyx_mstate_global->__pyx_tuple[13])) __PYX_ERR(0, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[13]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[13]);

  /* "Cython/Compiler/Code.py":1854
 *             # update tests/run/large_integer_T5290.py in case the amount is changed
 *             cname = self.unique_const_cname(
 *                 prefix + "large{counter}_" + value[:18] + "_xxx_" + value[-18:])             # <<<<<<<<<<<<<<
 *         else:
 *             cname = "%s%s" % (prefix, value)
*/
  __pyx_mstate_global->__pyx_slice[2] = PySlice_New(Py_None, __pyx_mstate_global->__pyx_int_18, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[2])) __PYX_ERR(0, 1854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[2]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[2]);
  __pyx_mstate_global->__pyx_slice[3] = PySlice_New(__pyx_mstate_global->__pyx_int_neg_18, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[3])) __PYX_ERR(0, 1854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[3]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[3]);

  /* "Cython/Compiler/Code.py":1860
 * 
 *     def new_const_cname(self, prefix='', value=''):
 *         value = replace_identifier('_', value)[:32].strip('_')             # <<<<<<<<<<<<<<
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
 *         if prefix:
*/
  __pyx_mstate_global->__pyx_slice[4] = PySlice_New(Py_None, __pyx_mstate_global->__pyx_int_32, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[4])) __PYX_ERR(0, 1860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[4]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[4]);

  /* "Cython/Compiler/Code.py":1911
 *             self.get_interned_identifier(name).cname)
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))             # <<<<<<<<<<<<<<
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (
 *             cname,
*/
  __pyx_mstate_global->__pyx_tuple[14] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_GetBuiltinName, __pyx_mstate_global->__pyx_kp_u_ObjectHandling_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[14])) __PYX_ERR(0, 1911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[14]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[14]);

  /* "Cython/Compiler/Code.py":2101
 * 
 *         # Store and decompress the string data.
 *         self.use_utility_code(UtilityCode.load_cached("DecompressString", "StringTools.c"))             # <<<<<<<<<<<<<<
 * 
 *         has_if = False
*/
  __pyx_mstate_global->__pyx_tuple[15] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_DecompressString, __pyx_mstate_global->__pyx_kp_u_StringTools_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[15])) __PYX_ERR(0, 2101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[15]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[15]);

  /* "Cython/Compiler/Code.py":2245
 *         """))
 * 
 *         self.use_utility_code(UtilityCode.load_cached("NewCodeObj", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 * 
 *         w.start_initcfunc(init_function)
*/
  __pyx_mstate_global->__pyx_tuple[16] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_NewCodeObj, __pyx_mstate_global->__pyx_kp_u_ModuleSetupCode_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[16])) __PYX_ERR(0, 2245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[16]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[16]);

  /* "Cython/Compiler/Code.py":2479
 *         source_file = source_desc.get_lines(encoding='ASCII', error_handling='ignore')
 *         F = [' * ' + (
 *                 line.replace(             # <<<<<<<<<<<<<<
 *                     '*[inserted by cython to avoid comment closer]/', '*[inserted by cython to avoid comment closer]/'
 *                 ).replace(
*/
  __pyx_mstate_global->__pyx_tuple[17] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__19, __pyx_mstate_global->__pyx_kp_u_inserted_by_cython_to_avoid_com); if (unlikely(!__pyx_mstate_global->__pyx_tuple[17])) __PYX_ERR(0, 2479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[17]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[17]);

  /* "Cython/Compiler/Code.py":2481
 *                 line.replace(
 *                     '*[inserted by cython to avoid comment closer]/', '*[inserted by cython to avoid comment closer]/'
 *                 ).replace(             # <<<<<<<<<<<<<<
 *                     '/[inserted by cython to avoid comment start]*', '/[inserted by cython to avoid comment start]*'
 *                 ) if '/' in line else line)
*/
  __pyx_mstate_global->__pyx_tuple[18] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__18, __pyx_mstate_global->__pyx_kp_u_inserted_by_cython_to_avoid_com_2); if (unlikely(!__pyx_mstate_global->__pyx_tuple[18])) __PYX_ERR(0, 2481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[18]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[18]);

  /* "Cython/Compiler/Code.py":2627
 *         # Therefore, we write this information into "self.buffer.markers" and then write it from there
 *         # into cython_debug/cython_debug_info_* (see ModuleNode._serialize_lineno_map).
 *         filename_line = self.last_marked_pos[:2] if self.last_marked_pos else (None, 0)             # <<<<<<<<<<<<<<
 *         self.buffer.markers.extend([filename_line] * s.count('\n'))
 * 
*/
  __pyx_mstate_global->__pyx_tuple[19] = PyTuple_Pack(2, Py_None, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[19])) __PYX_ERR(0, 2627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[19]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[19]);

  /* "Cython/Compiler/Code.py":2843
 *         if pos is None:
 *             return
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:             # <<<<<<<<<<<<<<
 *             return
 *         self.last_pos = (pos, trace)
*/
  __pyx_mstate_global->__pyx_slice[5] = PySlice_New(Py_None, __pyx_mstate_global->__pyx_int_2, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[5])) __PYX_ERR(0, 2843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[5]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[5]);

  /* "Cython/Compiler/Code.py":2907
 *             # We use forward slashes in the include path to assure identical code generation
 *             # under Windows and Posix.  C/C++ compilers should still understand it.
 *             c_path = path.replace('\\', '/')             # <<<<<<<<<<<<<<
 *             code = f'#include "{c_path}"\n'
 *         self.put_multilines(code)
*/
  __pyx_mstate_global->__pyx_tuple[20] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__31, __pyx_mstate_global->__pyx_kp_u__10); if (unlikely(!__pyx_mstate_global->__pyx_tuple[20])) __PYX_ERR(0, 2907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[20]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[20]);

  /* "Cython/Compiler/Code.py":2973
 * 
 *     def get_py_version_hex(self, pyversion):
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]             # <<<<<<<<<<<<<<
 * 
 *     def put_label(self, lbl):
*/
  __pyx_mstate_global->__pyx_tuple[21] = PyTuple_Pack(4, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[21])) __PYX_ERR(0, 2973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[21]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[21]);

  /* "Cython/Compiler/Code.py":3265
 *     def use_fast_gil_utility_code(self):
 *         if self.globalstate.directives['fast_gil']:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         else:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("NoFastGil", "ModuleSetupCode.c"))
*/
  __pyx_mstate_global->__pyx_tuple[22] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_FastGil, __pyx_mstate_global->__pyx_kp_u_ModuleSetupCode_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[22])) __PYX_ERR(0, 3265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[22]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[22]);

  /* "Cython/Compiler/Code.py":3267
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("FastGil", "ModuleSetupCode.c"))
 *         else:
 *             self.globalstate.use_utility_code(UtilityCode.load_cached("NoFastGil", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 * 
 *     def put_ensure_gil(self, declare_gilstate=True, variable=None):
*/
  __pyx_mstate_global->__pyx_tuple[23] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_NoFastGil, __pyx_mstate_global->__pyx_kp_u_ModuleSetupCode_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[23])) __PYX_ERR(0, 3267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[23]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[23]);

  /* "Cython/Compiler/Code.py":3284
 *             )
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         self.use_fast_gil_utility_code()
 *         if not variable:
*/
  __pyx_mstate_global->__pyx_tuple[24] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_ForceInitThreads, __pyx_mstate_global->__pyx_kp_u_ModuleSetupCode_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[24])) __PYX_ERR(0, 3284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[24]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[24]);

  /* "Cython/Compiler/Code.py":3323
 *             func_name = "__Pyx_RestoreUnknownThread"
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ReleaseUnknownGil", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         else:
 *             func_name = "PyEval_RestoreThread"
*/
  __pyx_mstate_global->__pyx_tuple[25] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_ReleaseUnknownGil, __pyx_mstate_global->__pyx_kp_u_ModuleSetupCode_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[25])) __PYX_ERR(0, 3323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[25]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[25]);

  /* "Cython/Compiler/Code.py":3462
 *         ))
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))             # <<<<<<<<<<<<<<
 * 
 *     def is_tracing(self):
*/
  __pyx_mstate_global->__pyx_tuple[26] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_WriteUnraisableException, __pyx_mstate_global->__pyx_kp_u_Exceptions_c); if (unlikely(!__pyx_mstate_global->__pyx_tuple[26])) __PYX_ERR(0, 3462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[26]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[26]);

  /* "Cython/Compiler/Code.py":98
 * 
 * # Builtins as of Python version ...
 * KNOWN_PYTHON_BUILTINS_VERSION = (3, 14, 0, 'beta', 1)             # <<<<<<<<<<<<<<
 * KNOWN_PYTHON_BUILTINS = frozenset([
 *     'ArithmeticError',
*/
  __pyx_mstate_global->__pyx_tuple[27] = PyTuple_Pack(5, __pyx_mstate_global->__pyx_int_3, __pyx_mstate_global->__pyx_int_14, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_n_u_beta, __pyx_mstate_global->__pyx_int_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[27])) __PYX_ERR(0, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[27]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[27]);

  /* "Cython/Compiler/Code.py":99
 * # Builtins as of Python version ...
 * KNOWN_PYTHON_BUILTINS_VERSION = (3, 14, 0, 'beta', 1)
 * KNOWN_PYTHON_BUILTINS = frozenset([             # <<<<<<<<<<<<<<
 *     'ArithmeticError',
 *     'AssertionError',
*/
  __pyx_mstate_global->__pyx_tuple[28] = PyTuple_Pack(155, __pyx_mstate_global->__pyx_n_u_ArithmeticError, __pyx_mstate_global->__pyx_n_u_AssertionError, __pyx_mstate_global->__pyx_n_u_AttributeError, __pyx_mstate_global->__pyx_n_u_BaseException, __pyx_mstate_global->__pyx_n_u_BaseExceptionGroup, __pyx_mstate_global->__pyx_n_u_BlockingIOError, __pyx_mstate_global->__pyx_n_u_BrokenPipeError, __pyx_mstate_global->__pyx_n_u_BufferError, __pyx_mstate_global->__pyx_n_u_BytesWarning, __pyx_mstate_global->__pyx_n_u_ChildProcessError, __pyx_mstate_global->__pyx_n_u_ConnectionAbortedError, __pyx_mstate_global->__pyx_n_u_ConnectionError, __pyx_mstate_global->__pyx_n_u_ConnectionRefusedError, __pyx_mstate_global->__pyx_n_u_ConnectionResetError, __pyx_mstate_global->__pyx_n_u_DeprecationWarning, __pyx_mstate_global->__pyx_n_u_EOFError, __pyx_mstate_global->__pyx_n_u_Ellipsis, __pyx_mstate_global->__pyx_n_u_EncodingWarning, __pyx_mstate_global->__pyx_n_u_EnvironmentError, __pyx_mstate_global->__pyx_n_u_Exception, __pyx_mstate_global->__pyx_n_u_ExceptionGroup, __pyx_mstate_global->__pyx_n_u_False, __pyx_mstate_global->__pyx_n_u_FileExistsError, __pyx_mstate_global->__pyx_n_u_FileNotFoundError, __pyx_mstate_global->__pyx_n_u_FloatingPointError, __pyx_mstate_global->__pyx_n_u_FutureWarning, __pyx_mstate_global->__pyx_n_u_GeneratorExit, __pyx_mstate_global->__pyx_n_u_IOError, __pyx_mstate_global->__pyx_n_u_ImportError, __pyx_mstate_global->__pyx_n_u_ImportWarning, __pyx_mstate_global->__pyx_n_u_IndentationError, __pyx_mstate_global->__pyx_n_u_IndexError, __pyx_mstate_global->__pyx_n_u_InterruptedError, __pyx_mstate_global->__pyx_n_u_IsADirectoryError, __pyx_mstate_global->__pyx_n_u_KeyError, __pyx_mstate_global->__pyx_n_u_KeyboardInterrupt, __pyx_mstate_global->__pyx_n_u_LookupError, __pyx_mstate_global->__pyx_n_u_MemoryError, __pyx_mstate_global->__pyx_n_u_ModuleNotFoundError, __pyx_mstate_global->__pyx_n_u_NameError, __pyx_mstate_global->__pyx_n_u_None, __pyx_mstate_global->__pyx_n_u_NotADirectoryError, __pyx_mstate_global->__pyx_n_u_NotImplemented, __pyx_mstate_global->__pyx_n_u_NotImplementedError, __pyx_mstate_global->__pyx_n_u_OSError, __pyx_mstate_global->__pyx_n_u_OverflowError, __pyx_mstate_global->__pyx_n_u_PendingDeprecationWarning, __pyx_mstate_global->__pyx_n_u_PermissionError, __pyx_mstate_global->__pyx_n_u_ProcessLookupError, __pyx_mstate_global->__pyx_n_u_PythonFinalizationError, __pyx_mstate_global->__pyx_n_u_RecursionError, __pyx_mstate_global->__pyx_n_u_ReferenceError, __pyx_mstate_global->__pyx_n_u_ResourceWarning, __pyx_mstate_global->__pyx_n_u_RuntimeError, __pyx_mstate_global->__pyx_n_u_RuntimeWarning, __pyx_mstate_global->__pyx_n_u_StopAsyncIteration, __pyx_mstate_global->__pyx_n_u_StopIteration, __pyx_mstate_global->__pyx_n_u_SyntaxError, __pyx_mstate_global->__pyx_n_u_SyntaxWarning, __pyx_mstate_global->__pyx_n_u_SystemError, __pyx_mstate_global->__pyx_n_u_SystemExit, __pyx_mstate_global->__pyx_n_u_TabError, __pyx_mstate_global->__pyx_n_u_TimeoutError, __pyx_mstate_global->__pyx_n_u_True, __pyx_mstate_global->__pyx_n_u_TypeError, __pyx_mstate_global->__pyx_n_u_UnboundLocalError, __pyx_mstate_global->__pyx_n_u_UnicodeDecodeError, __pyx_mstate_global->__pyx_n_u_UnicodeEncodeError, __pyx_mstate_global->__pyx_n_u_UnicodeError, __pyx_mstate_global->__pyx_n_u_UnicodeTranslateError, __pyx_mstate_global->__pyx_n_u_UnicodeWarning, __pyx_mstate_global->__pyx_n_u_UserWarning, __pyx_mstate_global->__pyx_n_u_ValueError, __pyx_mstate_global->__pyx_n_u_Warning, __pyx_mstate_global->__pyx_n_u_WindowsError, __pyx_mstate_global->__pyx_n_u_ZeroDivisionError, __pyx_mstate_global->__pyx_n_u_IncompleteInputError, __pyx_mstate_global->__pyx_n_u_build_class, __pyx_mstate_global->__pyx_n_u_debug, __pyx_mstate_global->__pyx_n_u_import, __pyx_mstate_global->__pyx_n_u_abs, __pyx_mstate_global->__pyx_n_u_aiter, __pyx_mstate_global->__pyx_n_u_all, __pyx_mstate_global->__pyx_n_u_anext, __pyx_mstate_global->__pyx_n_u_any, __pyx_mstate_global->__pyx_n_u_ascii, __pyx_mstate_global->__pyx_n_u_bin, __pyx_mstate_global->__pyx_n_u_bool, __pyx_mstate_global->__pyx_n_u_breakpoint, __pyx_mstate_global->__pyx_n_u_bytearray, __pyx_mstate_global->__pyx_n_u_bytes_2, __pyx_mstate_global->__pyx_n_u_callable, __pyx_mstate_global->__pyx_n_u_chr, __pyx_mstate_global->__pyx_n_u_classmethod, __pyx_mstate_global->__pyx_n_u_compile, __pyx_mstate_global->__pyx_n_u_complex, __pyx_mstate_global->__pyx_n_u_copyright, __pyx_mstate_global->__pyx_n_u_credits, __pyx_mstate_global->__pyx_n_u_delattr, __pyx_mstate_global->__pyx_n_u_dict, __pyx_mstate_global->__pyx_n_u_dir, __pyx_mstate_global->__pyx_n_u_divmod, __pyx_mstate_global->__pyx_n_u_enumerate, __pyx_mstate_global->__pyx_n_u_eval, __pyx_mstate_global->__pyx_n_u_exec, __pyx_mstate_global->__pyx_n_u_exit_2, __pyx_mstate_global->__pyx_n_u_filter, __pyx_mstate_global->__pyx_n_u_float, __pyx_mstate_global->__pyx_n_u_format, __pyx_mstate_global->__pyx_n_u_frozenset, __pyx_mstate_global->__pyx_n_u_getattr_2, __pyx_mstate_global->__pyx_n_u_globals, __pyx_mstate_global->__pyx_n_u_hasattr, __pyx_mstate_global->__pyx_n_u_hash, __pyx_mstate_global->__pyx_n_u_help, __pyx_mstate_global->__pyx_n_u_hex, __pyx_mstate_global->__pyx_n_u_id, __pyx_mstate_global->__pyx_n_u_input, __pyx_mstate_global->__pyx_n_u_int, __pyx_mstate_global->__pyx_n_u_isinstance, __pyx_mstate_global->__pyx_n_u_issubclass, __pyx_mstate_global->__pyx_n_u_iter, __pyx_mstate_global->__pyx_n_u_len, __pyx_mstate_global->__pyx_n_u_license, __pyx_mstate_global->__pyx_n_u_list, __pyx_mstate_global->__pyx_n_u_locals, __pyx_mstate_global->__pyx_n_u_map, __pyx_mstate_global->__pyx_n_u_max, __pyx_mstate_global->__pyx_n_u_memoryview, __pyx_mstate_global->__pyx_n_u_min, __pyx_mstate_global->__pyx_n_u_next_2, __pyx_mstate_global->__pyx_n_u_object, __pyx_mstate_global->__pyx_n_u_oct, __pyx_mstate_global->__pyx_n_u_open, __pyx_mstate_global->__pyx_n_u_ord, __pyx_mstate_global->__pyx_n_u_pow, __pyx_mstate_global->__pyx_n_u_print, __pyx_mstate_global->__pyx_n_u_property, __pyx_mstate_global->__pyx_n_u_quit, __pyx_mstate_global->__pyx_n_u_range, __pyx_mstate_global->__pyx_n_u_repr, __pyx_mstate_global->__pyx_n_u_reversed, __pyx_mstate_global->__pyx_n_u_round, __pyx_mstate_global->__pyx_n_u_set, __pyx_mstate_global->__pyx_n_u_setattr, __pyx_mstate_global->__pyx_n_u_slice, __pyx_mstate_global->__pyx_n_u_sorted, __pyx_mstate_global->__pyx_n_u_staticmethod, __pyx_mstate_global->__pyx_n_u_str, __pyx_mstate_global->__pyx_n_u_sum, __pyx_mstate_global->__pyx_n_u_super, __pyx_mstate_global->__pyx_n_u_tuple, __pyx_mstate_global->__pyx_n_u_type, __pyx_mstate_global->__pyx_n_u_vars, __pyx_mstate_global->__pyx_n_u_zip); if (unlikely(!__pyx_mstate_global->__pyx_tuple[28])) __PYX_ERR(0, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[28]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[28]);

  /* "Cython/Compiler/Code.py":279
 * 
 * special_py_methods = cython.declare(frozenset, frozenset((
 *     '__cinit__', '__dealloc__', '__richcmp__', '__next__',             # <<<<<<<<<<<<<<
 *     '__await__', '__aiter__', '__anext__',
 *     '__getbuffer__', '__releasebuffer__',
*/
  __pyx_mstate_global->__pyx_tuple[29] = PyTuple_Pack(9, __pyx_mstate_global->__pyx_n_u_cinit, __pyx_mstate_global->__pyx_n_u_dealloc, __pyx_mstate_global->__pyx_n_u_richcmp, __pyx_mstate_global->__pyx_n_u_next, __pyx_mstate_global->__pyx_n_u_await, __pyx_mstate_global->__pyx_n_u_aiter_2, __pyx_mstate_global->__pyx_n_u_anext_2, __pyx_mstate_global->__pyx_n_u_getbuffer, __pyx_mstate_global->__pyx_n_u_releasebuffer); if (unlikely(!__pyx_mstate_global->__pyx_tuple[29])) __PYX_ERR(0, 279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[29]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[29]);

  /* "Cython/Compiler/Code.py":321
 *     counter = 1   # Counter for "order"
 * 
 *     def __init__(self, include=None, verbatim=None, late=True, initial=False):             # <<<<<<<<<<<<<<
 *         self.order = self.counter
 *         type(self).counter += 1
*/
  __pyx_mstate_global->__pyx_tuple[30] = PyTuple_Pack(4, Py_None, Py_None, ((PyObject*)Py_True), ((PyObject*)Py_False)); if (unlikely(!__pyx_mstate_global->__pyx_tuple[30])) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[30]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[30]);

  /* "Cython/Compiler/Code.py":405
 *     requires = None
 * 
 *     def put_code(self, globalstate: "GlobalState", used_by=None) -> None:             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
  __pyx_mstate_global->__pyx_tuple[31] = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[31])) __PYX_ERR(0, 405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[31]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[31]);

  /* "Cython/Compiler/Code.py":641
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file, include_requires=False, **kwargs):
 *         """
*/
  __pyx_mstate_global->__pyx_tuple[32] = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[32])) __PYX_ERR(0, 641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[32]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[32]);

  /* "Cython/Compiler/Code.py":988
 * 
 * 
 * @add_macro_processor(             # <<<<<<<<<<<<<<
 *     'PYIDENT', 'PYUNICODE',
 *     is_module_specific=True,
*/
  __pyx_mstate_global->__pyx_tuple[33] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_PYIDENT, __pyx_mstate_global->__pyx_n_u_PYUNICODE); if (unlikely(!__pyx_mstate_global->__pyx_tuple[33])) __PYX_ERR(0, 988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[33]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[33]);

  /* "Cython/Compiler/Code.py":1057
 * 
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):             # <<<<<<<<<<<<<<
 *         if context is None:
 *             context = {}
*/
  __pyx_mstate_global->__pyx_tuple[34] = PyTuple_Pack(6, Py_None, Py_None, Py_None, Py_None, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[34])) __PYX_ERR(0, 1057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[34]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[34]);

  /* "Cython/Compiler/Code.py":1184
 *         return label
 * 
 *     def new_yield_label(self, expr_type='yield'):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_%s' % expr_type)
 *         num_and_label = (len(self.yield_labels) + 1, label)
*/
  __pyx_mstate_global->__pyx_tuple[35] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_n_u_yield); if (unlikely(!__pyx_mstate_global->__pyx_tuple[35])) __PYX_ERR(0, 1184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[35]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[35]);

  /* "Cython/Compiler/Code.py":1190
 *         return num_and_label
 * 
 *     def new_error_label(self, prefix=""):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label(prefix + 'error')
*/
  __pyx_mstate_global->__pyx_tuple[36] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_kp_u__9); if (unlikely(!__pyx_mstate_global->__pyx_tuple[36])) __PYX_ERR(0, 1190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[36]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[36]);

  /* "Cython/Compiler/Code.py":1243
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False, reusable=True):             # <<<<<<<<<<<<<<
 *         """
 *         Allocates a temporary (which may create a new one or get a previously
*/
  __pyx_mstate_global->__pyx_tuple[37] = PyTuple_Pack(2, Py_False, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[37])) __PYX_ERR(0, 1243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[37]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[37]);

  /* "Cython/Compiler/Code.py":1780
 *         return c
 * 
 *     def get_string_const(self, text, c_used=True):             # <<<<<<<<<<<<<<
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:
*/
  __pyx_mstate_global->__pyx_tuple[38] = PyTuple_Pack(1, ((PyObject*)Py_True)); if (unlikely(!__pyx_mstate_global->__pyx_tuple[38])) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[38]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[38]);

  /* "Cython/Compiler/Code.py":1859
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         name_suffix = self.unique_const_cname(value + "{sep}{counter}")
*/
  __pyx_mstate_global->__pyx_tuple[39] = PyTuple_Pack(2, ((PyObject*)__pyx_mstate_global->__pyx_kp_u__9), ((PyObject*)__pyx_mstate_global->__pyx_kp_u__9)); if (unlikely(!__pyx_mstate_global->__pyx_tuple[39])) __PYX_ERR(0, 1859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[39]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[39]);

  /* "Cython/Compiler/Code.py":2535
 *     # c_line_in_traceback boolean         append the c file and line number to the traceback for exceptions?
 * 
 *     def __init__(self, emit_linenums=True, emit_code_comments=True, c_line_in_traceback=True):             # <<<<<<<<<<<<<<
 *         self.emit_code_comments = emit_code_comments
 *         self.emit_linenums = emit_linenums
*/
  __pyx_mstate_global->__pyx_tuple[40] = PyTuple_Pack(3, ((PyObject*)Py_True), ((PyObject*)Py_True), ((PyObject*)Py_True)); if (unlikely(!__pyx_mstate_global->__pyx_tuple[40])) __PYX_ERR(0, 2535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[40]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[40]);

  /* "Cython/Compiler/Code.py":2674
 *     def yield_labels(self): pass
 * 
 *     def label_interceptor(self, new_labels, orig_labels, skip_to_label=None, pos=None, trace=True):             # <<<<<<<<<<<<<<
 *         """
 *         Helper for generating multiple label interceptor code blocks.
*/
  __pyx_mstate_global->__pyx_tuple[41] = PyTuple_Pack(3, Py_None, Py_None, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[41])) __PYX_ERR(0, 2674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[41]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[41]);

  /* "Cython/Compiler/Code.py":2721
 *         self.funcstate = None
 * 
 *     def start_initcfunc(self, signature, scope=None, refnanny=False):             # <<<<<<<<<<<<<<
 *         """
 *         Init code helper function to start a cfunc scope and generate
*/
  __pyx_mstate_global->__pyx_tuple[42] = PyTuple_Pack(2, Py_None, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[42])) __PYX_ERR(0, 2721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[42]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[42]);

  /* "Cython/Compiler/Code.py":2734
 *             self.put_declare_refcount_context()
 * 
 *     def start_slotfunc(self, class_scope, return_type, c_slot_name, args_signature, needs_funcstate=True, needs_prototype=False):             # <<<<<<<<<<<<<<
 *         # Slot functions currently live in the class scope as they don't have direct access to the module state.
 *         slotfunc_cname = class_scope.mangle_internal(c_slot_name)
*/
  __pyx_mstate_global->__pyx_tuple[43] = PyTuple_Pack(2, Py_True, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[43])) __PYX_ERR(0, 2734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[43]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[43]);

  /* "Cython/Compiler/Code.py":2826
 *     # code generation
 * 
 *     def putln(self, code="", safe=False):             # <<<<<<<<<<<<<<
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
*/
  __pyx_mstate_global->__pyx_tuple[44] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u__9, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[44])) __PYX_ERR(0, 2826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[44]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[44]);

  /* "Cython/Compiler/Code.py":2983
 *         self.putln("goto %s;" % lbl)
 * 
 *     def put_var_declaration(self, entry, storage_class="",             # <<<<<<<<<<<<<<
 *                             dll_linkage=None, definition=True):
 *         #print "Code.put_var_declaration:", entry.name, "definition =", definition ###
*/
  __pyx_mstate_global->__pyx_tuple[45] = PyTuple_Pack(3, __pyx_mstate_global->__pyx_kp_u__9, Py_None, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[45])) __PYX_ERR(0, 2983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[45]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[45]);

  /* "Cython/Compiler/Code.py":3086
 *         type.generate_xincref(self, cname, nanny=nanny)
 * 
 *     def put_decref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
*/
  __pyx_mstate_global->__pyx_tuple[46] = PyTuple_Pack(2, Py_True, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[46])) __PYX_ERR(0, 3086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[46]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[46]);

  /* "Cython/Compiler/Code.py":3092
 *         type.generate_xdecref(self, cname, nanny=nanny, have_gil=have_gil)
 * 
 *     def put_decref_clear(self, cname, type, clear_before_decref=False, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         type.generate_decref_clear(self, cname, clear_before_decref=clear_before_decref,
 *                               nanny=nanny, have_gil=have_gil)
*/
  __pyx_mstate_global->__pyx_tuple[47] = PyTuple_Pack(3, Py_False, Py_True, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[47])) __PYX_ERR(0, 3092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[47]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[47]);

  /* "Cython/Compiler/Code.py":3149
 *         self.put_xdecref_clear(entry.cname, entry.type, clear_before_decref=entry.in_closure, **kwds)
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             if not used_only or entry.used:
*/
  __pyx_mstate_global->__pyx_tuple[48] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[48])) __PYX_ERR(0, 3149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[48]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[48]);

  /* "Cython/Compiler/Code.py":3184
 *             self.putln("%s = %s; Py_INCREF(Py_None);" % (cname, py_none))
 * 
 *     def put_init_var_to_py_none(self, entry, template = "%s", nanny=True):             # <<<<<<<<<<<<<<
 *         code = template % entry.cname
 *         #if entry.type.is_extension_type:
*/
  __pyx_mstate_global->__pyx_tuple[49] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u_s_7, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[49])) __PYX_ERR(0, 3184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[49]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[49]);

  /* "Cython/Compiler/Code.py":3192
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True, wrapper_code_writer=None):             # <<<<<<<<<<<<<<
 *         is_number_slot = False
 *         if entry.is_special or entry.name == '__getattribute__':
*/
  __pyx_mstate_global->__pyx_tuple[50] = PyTuple_Pack(2, Py_True, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[50])) __PYX_ERR(0, 3192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[50]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[50]);

  /* "Cython/Compiler/Code.py":3311
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None, unknown_gil_state=True):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The thread's thread state must have been initialized
*/
  __pyx_mstate_global->__pyx_tuple[51] = PyTuple_Pack(2, Py_None, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[51])) __PYX_ERR(0, 3311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[51]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[51]);

  /* "Cython/Compiler/Code.py":3355
 *         return self.putln("if (%s < (0)) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False, unbound_check_code=None):             # <<<<<<<<<<<<<<
 *         nogil_tag = "Nogil" if in_nogil_context else ""
 *         if entry.from_closure:
*/
  __pyx_mstate_global->__pyx_tuple[52] = PyTuple_Pack(2, Py_False, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[52])) __PYX_ERR(0, 3355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[52]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[52]);

  /* "Cython/Compiler/Code.py":3483
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_start(self, name, pos, nogil=False, is_generator=False, is_cpdef_func=False):             # <<<<<<<<<<<<<<
 *         trace_func = "__Pyx_TraceStartGen" if is_generator else "__Pyx_TraceStartFunc"
 *         self.putln(
*/
  __pyx_mstate_global->__pyx_tuple[53] = PyTuple_Pack(3, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[53])) __PYX_ERR(0, 3483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[53]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[53]);

  /* "Cython/Compiler/Code.py":3521
 *         )
 * 
 *     def put_trace_exception(self, pos, reraise=False, fresh=False):             # <<<<<<<<<<<<<<
 *         self.putln(f"__Pyx_TraceException({self.pos_to_offset(pos)}, {bool(reraise):d}, {bool(fresh):d});")
 * 
*/
  __pyx_mstate_global->__pyx_tuple[54] = PyTuple_Pack(2, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[54])) __PYX_ERR(0, 3521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[54]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[54]);

  /* "Cython/Compiler/Code.py":3562
 * 
 *     def put_cpp_placement_new(self, target,
 *                               _utility_code=UtilityCode.load("DefaultPlacementNew", "CppSupport.cpp")):             # <<<<<<<<<<<<<<
 *         self.globalstate.use_utility_code(_utility_code)
 *         self.putln(f"__Pyx_default_placement_construct(&({target}));")
*/
  __pyx_mstate_global->__pyx_tuple[55] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_DefaultPlacementNew, __pyx_mstate_global->__pyx_kp_u_CppSupport_cpp); if (unlikely(!__pyx_mstate_global->__pyx_tuple[55])) __PYX_ERR(0, 3562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[55]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[55]);

  /* "Cython/Compiler/Code.py":3623
 *         self._insertion_points = {}
 * 
 *     def indent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level += levels
 *         return True
*/
  __pyx_mstate_global->__pyx_tuple[56] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_int_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[56])) __PYX_ERR(0, 3623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[56]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[56]);
  #if CYTHON_IMMORTAL_CONSTANTS
  {
    PyObject **table = __pyx_mstate->__pyx_tuple;
    for (Py_ssize_t i=0; i<57; ++i) {
      #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      #if PY_VERSION_HEX < 0x030E0000
      if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
      #else
      if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
      #endif
      {
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
      }
      #else
      Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
      #endif
    }
  }
  #endif
  #if CYTHON_IMMORTAL_CONSTANTS
  {
    PyObject **table = __pyx_mstate->__pyx_slice;
    for (Py_ssize_t i=0; i<6; ++i) {
      #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      #if PY_VERSION_HEX < 0x030E0000
      if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
      #else
      if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
      #endif
      {
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
      }
      #else
      Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
      #endif
    }
  }
  #endif
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}
/* #### Code section: init_constants ### */

static int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate) {
  CYTHON_UNUSED_VAR(__pyx_mstate);
  {
    const struct { const unsigned int length: 11; } index[] = {{1},{1},{4},{8},{5},{8},{13},{18},{2},{84},{93},{76},{39},{13},{41},{29},{30},{14},{18},{42},{83},{28},{20},{31},{66},{54},{14},{7},{16},{23},{22},{26},{24},{25},{19},{14},{30},{23},{38},{12},{40},{19},{25},{24},{70},{13},{226},{30},{17},{28},{27},{7},{8},{4},{179},{16},{10},{43},{19},{30},{15},{16},{34},{13},{17},{37},{43},{12},{14},{16},{10},{12},{22},{49},{23},{19},{72},{73},{23},{19},{41},{15},{35},{41},{20},{9},{17},{27},{21},{51},{53},{32},{17},{42},{19},{35},{25},{23},{25},{24},{24},{59},{29},{29},{30},{34},{27},{21},{28},{27},{24},{16},{21},{25},{17},{23},{36},{34},{41},{4},{13},{38},{20},{16},{5},{138},{53},{1},{2},{2},{1},{2},{2},{2},{2},{1},{2},{1},{1},{1},{3},{3},{2},{2},{2},{1},{1},{1},{2},{1},{2},{1},{2},{3},{2},{1},{2},{2},{2},{1},{1},{1},{2},{2},{2},{1},{2},{6},{2},{7},{3},{1},{2},{2},{2},{6},{3},{1},{3},{3},{2},{2},{2},{29},{4},{2},{4},{3},{1},{1},{3},{5},{3},{3},{3},{3},{4},{1},{1},{1},{0},{14},{14},{8},{12},{10},{4},{10},{25},{15},{14},{20},{17},{7},{12},{26},{27},{55},{29},{42},{17},{10},{4},{8},{50},{27},{10},{50},{27},{7},{5},{28},{6},{6},{20},{5},{27},{23},{19},{14},{2},{8},{2},{9},{8},{12},{8},{7},{7},{3},{8},{5},{6},{5},{5},{38},{8},{4},{30},{45},{63},{29},{31},{53},{69},{44},{27},{70},{6},{14},{50},{24},{42},{22},{14},{10},{5},{10},{21},{11},{13},{10},{15},{46},{45},{4},{28},{29},{30},{24},{27},{9},{15},{6},{7},{26},{9},{9},{16},{36},{4},{5},{15},{12},{20},{12},{11},{111},{4},{4},{3},{4},{10},{14},{9},{10},{11},{10},{20},{8},{3},{5},{3},{9},{3},{3},{3},{2},{6},{4},{10},{31},{11},{24},{8},{8},{7},{8},{11},{14},{7},{25},{20},{66},{18},{18},{351},{12},{22},{4},{24},{19},{61},{17},{19},{12},{40},{35},{37},{45},{46},{8},{10},{5},{26},{16},{9},{5},{19},{44},{28},{28},{15},{14},{14},{13},{18},{15},{15},{11},{12},{1},{19},{11},{20},{11},{28},{26},{23},{23},{23},{36},{26},{18},{22},{28},{21},{29},{29},{22},{25},{31},{29},{30},{23},{28},{26},{38},{39},{27},{32},{24},{24},{22},{31},{30},{35},{28},{20},{18},{27},{18},{29},{22},{25},{29},{22},{23},{27},{20},{44},{32},{37},{43},{27},{21},{27},{22},{27},{25},{15},{42},{27},{29},{25},{33},{40},{22},{28},{26},{26},{28},{32},{39},{28},{23},{20},{22},{23},{22},{38},{31},{35},{21},{36},{26},{27},{35},{35},{42},{27},{20},{38},{33},{34},{31},{43},{39},{26},{32},{28},{28},{27},{35},{28},{27},{26},{31},{26},{32},{30},{27},{27},{26},{26},{42},{27},{33},{31},{28},{34},{28},{27},{27},{23},{29},{27},{24},{23},{23},{17},{24},{32},{43},{24},{26},{26},{28},{27},{27},{26},{41},{32},{20},{37},{21},{17},{28},{24},{7},{7},{13},{17},{20},{29},{34},{26},{20},{22},{15},{22},{20},{20},{10},{10},{16},{19},{18},{5},{5},{8},{8},{13},{15},{16},{6},{9},{14},{1},{5},{7},{15},{17},{18},{16},{13},{36},{31},{28},{27},{28},{29},{32},{24},{29},{23},{29},{29},{26},{28},{29},{36},{35},{37},{26},{23},{27},{13},{19},{13},{14},{11},{23},{20},{53},{35},{43},{30},{35},{32},{41},{41},{39},{55},{66},{59},{60},{53},{34},{42},{39},{37},{38},{39},{37},{27},{25},{35},{32},{24},{31},{35},{28},{33},{34},{34},{27},{33},{27},{25},{31},{28},{34},{35},{29},{26},{30},{34},{28},{5},{7},{7},{11},{13},{11},{20},{23},{21},{19},{17},{21},{16},{10},{16},{17},{21},{29},{8},{17},{1},{4},{2},{15},{24},{24},{11},{11},{19},{9},{6},{10},{9},{5},{4},{18},{14},{19},{8},{17},{7},{14},{7},{13},{7},{9},{25},{15},{18},{11},{20},{17},{16},{15},{19},{13},{13},{12},{7},{8},{10},{15},{22},{22},{21},{10},{23},{6},{13},{20},{19},{22},{20},{22},{29},{35},{23},{19},{19},{25},{20},{26},{26},{23},{27},{26},{23},{22},{20},{19},{24},{17},{21},{22},{23},{22},{14},{14},{17},{15},{12},{14},{8},{18},{16},{18},{13},{8},{11},{31},{14},{12},{11},{13},{11},{10},{8},{7},{18},{27},{26},{30},{30},{8},{12},{4},{15},{9},{9},{1},{17},{18},{18},{12},{21},{14},{11},{7},{11},{15},{28},{28},{23},{27},{40},{43},{24},{20},{30},{27},{40},{18},{21},{29},{34},{45},{42},{23},{34},{20},{22},{5},{7},{10},{7},{12},{24},{17},{1},{0},{3},{7},{11},{3},{23},{19},{61},{44},{12},{5},{9},{9},{11},{3},{22},{9},{17},{14},{8},{13},{10},{5},{9},{15},{3},{6},{3},{10},{21},{4},{14},{12},{11},{10},{19},{11},{5},{15},{18},{10},{12},{9},{1},{3},{10},{22},{17},{11},{12},{4},{3},{10},{4},{6},{5},{11},{10},{8},{6},{15},{24},{15},{9},{11},{12},{9},{10},{5},{11},{12},{3},{1},{11},{8},{19},{6},{10},{11},{8},{6},{7},{11},{15},{15},{16},{31},{8},{8},{13},{9},{4},{7},{19},{3},{5},{9},{15},{17},{11},{11},{7},{15},{13},{14},{5},{19},{18},{13},{8},{5},{18},{7},{3},{5},{20},{6},{4},{11},{11},{17},{10},{11},{9},{7},{20},{16},{22},{11},{7},{23},{26},{7},{7},{25},{8},{16},{22},{17},{16},{13},{12},{4},{5},{20},{17},{12},{10},{14},{21},{15},{9},{6},{7},{7},{11},{10},{14},{8},{14},{4},{15},{9},{6},{5},{7},{12},{10},{29},{11},{10},{7},{5},{21},{12},{1},{4},{9},{11},{11},{9},{24},{4},{11},{16},{16},{11},{15},{5},{12},{6},{6},{17},{9},{12},{8},{13},{11},{16},{14},{7},{10},{7},{3},{10},{4},{8},{11},{5},{10},{6},{3},{10},{7},{6},{11},{3},{7},{9},{4},{6},{1},{4},{18},{13},{6},{5},{22},{6},{23},{8},{3},{9},{8},{9},{17},{7},{5},{17},{10},{9},{5},{10},{13},{19},{17},{18},{14},{11},{9},{6},{18},{13},{13},{4},{4},{6},{8},{4},{16},{6},{12},{9},{3},{6},{9},{1},{12},{8},{8},{4},{8},{14},{14},{13},{14},{15},{6},{20},{7},{14},{10},{5},{15},{6},{11},{17},{10},{12},{8},{5},{12},{9},{9},{8},{4},{9},{10},{12},{9},{11},{8},{20},{33},{33},{9},{9},{16},{29},{21},{16},{29},{27},{15},{21},{19},{22},{16},{15},{15},{31},{41},{22},{30},{27},{25},{16},{22},{20},{17},{16},{16},{7},{3},{14},{16},{26},{27},{25},{23},{23},{15},{13},{23},{9},{15},{20},{12},{12},{10},{19},{18},{23},{24},{23},{14},{27},{16},{8},{15},{11},{7},{16},{13},{11},{6},{8},{12},{10},{7},{11},{5},{6},{5},{6},{13},{6},{23},{7},{4},{7},{8},{4},{3},{9},{1},{2},{10},{3},{2},{6},{21},{4},{5},{10},{10},{16},{26},{7},{13},{11},{12},{16},{6},{13},{12},{18},{8},{5},{4},{8},{25},{18},{16},{14},{13},{12},{11},{21},{7},{21},{22},{22},{15},{33},{23},{22},{6},{5},{19},{6},{15},{3},{7},{7},{7},{6},{18},{25},{18},{10},{9},{6},{17},{17},{20},{10},{16},{7},{12},{10},{11},{8},{13},{13},{12},{15},{15},{17},{17},{17},{12},{23},{11},{9},{18},{15},{18},{8},{6},{14},{17},{11},{9},{12},{11},{10},{9},{10},{10},{11},{7},{10},{10},{5},{4},{4},{1},{8},{3},{5},{6},{4},{5},{13},{17},{12},{10},{6},{11},{8},{15},{21},{14},{4},{13},{3},{9},{3},{6},{5},{6},{7},{4},{17},{6},{12},{5},{9},{4},{12},{4},{14},{31},{11},{24},{42},{6},{8},{4},{8},{15},{5},{6},{1},{5},{11},{8},{11},{9},{10},{15},{3},{6},{8},{5},{19},{13},{10},{7},{8},{3},{9},{13},{15},{8},{16},{8},{18},{8},{10},{13},{14},{12},{20},{11},{17},{13},{21},{3},{22},{9},{10},{11},{19},{15},{11},{10},{12},{18},{27},{22},{21},{18},{16},{21},{30},{25},{17},{23},{21},{22},{4},{15},{3},{5},{4},{8},{6},{32},{20},{25},{11},{21},{11},{15},{31},{6},{5},{15},{15},{17},{4},{21},{8},{15},{15},{9},{10},{15},{13},{19},{16},{22},{10},{15},{8},{4},{2},{4},{24},{5},{9},{11},{13},{15},{15},{16},{6},{12},{15},{16},{9},{6},{3},{11},{9},{10},{4},{13},{16},{8},{7},{3},{5},{11},{10},{11},{2},{5},{12},{6},{5},{28},{6},{12},{22},{13},{4},{11},{7},{9},{5},{12},{4},{6},{3},{3},{13},{3},{6},{11},{7},{13},{23},{5},{7},{7},{21},{7},{8},{5},{11},{11},{6},{3},{30},{15},{17},{23},{9},{8},{13},{17},{21},{28},{10},{16},{14},{14},{16},{20},{27},{16},{11},{8},{10},{11},{10},{26},{22},{19},{23},{9},{24},{14},{15},{23},{17},{23},{30},{15},{8},{26},{33},{21},{22},{19},{27},{31},{14},{20},{16},{16},{15},{23},{16},{15},{14},{19},{14},{20},{18},{15},{15},{14},{14},{30},{15},{21},{19},{16},{22},{16},{15},{15},{11},{17},{15},{12},{11},{11},{5},{12},{15},{15},{8},{6},{7},{7},{14},{9},{15},{10},{7},{17},{12},{10},{14},{25},{9},{19},{14},{14},{12},{4},{1},{5},{9},{2},{9},{31},{19},{9},{20},{13},{8},{5},{12},{17},{6},{24},{7},{19},{4},{8},{7},{5},{6},{25},{11},{3},{8},{6},{31},{12},{11},{14},{8},{7},{8},{9},{8},{11},{10},{5},{6},{6},{1},{4},{5},{11},{4},{4},{3},{3},{14},{14},{16},{15},{12},{7},{10},{6},{6},{24},{29},{14},{6},{9},{19},{13},{5},{11},{4},{14},{6},{7},{11},{11},{19},{10},{5},{20},{8},{10},{22},{15},{12},{14},{6},{12},{21},{13},{11},{3},{13},{8},{9},{8},{6},{18},{12},{21},{15},{13},{5},{14},{17},{3},{11},{26},{10},{3},{5},{3},{8},{9},{10},{4},{6},{7},{8},{15},{11},{10},{23},{12},{4},{4},{12},{8},{5},{8},{9},{14},{2},{5},{10},{5},{4},{10},{17},{9},{8},{8},{13},{29},{1},{7},{18},{19},{20},{7},{18},{17},{8},{6},{21},{6},{6},{7},{22},{25},{9},{16},{4},{7},{9},{7},{11},{11},{4},{10},{4},{9},{14},{9},{7},{14},{12},{13},{16},{23},{17},{20},{24},{18},{31},{13},{13},{30},{5},{10},{6},{8},{8},{4},{8},{10},{10},{1},{7},{14},{31},{19},{18},{5},{5},{16},{16},{6},{15},{6},{5},{5},{12},{3},{4},{4},{25},{13},{1},{4},{32},{13},{19},{0},{19},{16},{24},{9},{36},{25},{68},{80},{97},{19},{67},{45},{299},{20},{217},{51},{80},{36},{226},{36},{37},{56},{120},{355},{63},{42},{48},{66},{322},{36},{53},{222},{305},{79},{1170},{52},{10},{342},{46},{189},{2},{94},{273},{27},{15},{44},{13},{1012},{467},{60},{44},{15},{37},{27},{25},{67},{83},{322},{116},{32},{57},{100},{30},{83},{59},{28},{68},{233},{45},{30},{378},{30},{92},{137},{108},{81},{29},{23},{41},{129},{44},{22},{18},{14},{23},{22},{19},{152},{22},{23},{42},{595},{30},{71},{493},{379},{82},{30},{11},{19},{36},{29},{36},{18},{22},{53},{22},{18},{62},{60},{33},{28},{13},{22},{13},{53},{19},{19},{31},{9},{12},{133},{51},{17},{26},{38},{17},{19},{9},{13},{17},{19},{17},{17},{21},{57},{149},{15},{25},{50},{29},{14},{27},{54},{99},{44},{43},{419},{34},{82},{157},{42},{156},{37},{29},{14},{19},{46},{239},{185},{39},{160},{36},{7},{10},{15},{16},{84},{15},{22},{168},{20},{20},{33},{36},{39},{19},{9},{30},{16},{51},{87},{272},{13},{13},{26},{13},{13},{17},{24},{18},{29},{16},{16},{23},{28},{28},{27},{19},{29},{14},{16},{18},{14},{57},{30},{16},{108},{138},{35},{171},{38},{11},{54},{106},{160},{27},{37},{60},{79},{46},{21},{50},{54},{34},{85},{28},{106},{184},{17},{2},{2},{70},{37},{81},{38},{115},{52},{47},{35},{78},{113},{37},{120},{56},{80},{56},{112},{41},{93},{50},{10},{15},{15},{14},{16},{16},{13},{15},{113},{73}};
    #if (CYTHON_COMPRESS_STRINGS) == 3 && __PYX_LIMITED_VERSION_HEX >= 0x030e0000 /* compression: zstd (19441 bytes) */
const char* const cstring = "(\265/\375`\021\301=_\002\332\222\005VG\360\010m\003\314\300\322\342\247\006\271\001H*`\205\024\222\nX!\361si\n\250K\203/7K\253e\303\271aJ\"\2453\371\223\360w\017\2043\316\316\372?H~\302\230\377\353\366w9a9\334\266\311\305z\001`Z\021'\005\361\004\202\005h\252\307mGFz\326\324$Ot\005\362\356\266\335\253(O\312$T\301$T\241\203<=\344\354\226\332\266,\221\262\347\371\314.\371\217]BI\326\3605\204\t\332x\024\352\354f\267\275?/c\301\325\324\304vh0W\314\026\263\305\320d{&\273\331\330^\261\030\327m\307hnn7W\251\243T\226\244\010\031\022\202\206\204\220\255\336juW\236\311;\221'T\311\322B\262\240%I\243\251\211\321l\266\252\366rU}\332;N\024\213T\225J}\243\204e\207\320\371Q\301$WHW\345\241^}]&\2625[)\322|y-'[,\324\312\311ud\232ru\237'\367\341yq@\221*\023\n\025\204z\030I=\254\230L,d\007\312D\276\220+BdI\266\204*\264*\264L\246\225V\253\207D\201\224\"!B-\036rE\252\310\225\223\213\210\352\301d\312\345r\247\207\022\225\352\341q\031I\215\270\240\312\207\207\225\225\221\207N\272\334\327\256\273\265\3159\235N@\265\003yO]\323w\327\375\r\271JQ\016\344A2\270\256-'\275y\223\"b\256J\335D\203\355\356D\246\244'W`6\327\215\014.]W\234G\310-\207\352\225]}m\244\210\210Hi\276\355v\323\227\357\372i\342\036\345\255z\223vt\307\225\261\253{\3532\335\367\372n\353*:\223\2651*\032To\316\216*\327\032a\357yTEc\2065egW\363\346\242\302\330^]T]i\272\3476\364\334[\210|h\265\312\356\34350n\227\261\241J\267\363\3325f\273\236\307\240HU\213;O\327J\330O\025u\267\367:.\"\333\267[\331M\206#\303\311lf{\346\302\331lhh6\251*q5\257\215\213\335v\215\254\325B\22511\333+\006\023\362\037d\205\330\354\265[\323wX\333Y\226\2679\256\271\353\266\276\35305\266\267\367 %M\225\251\262\223\367\266\207+\203\275\006\306r\337f\337M\246z\232R\245\304\340nnP=\227\247\366t\223!d\007Bo\247\352\202\361\037:\356\246\270\313OT\231\"S\365\246\234m!\rI\t\251\362+\273O\265\203\314\206\264V\007r\357S\224\307\2221\234kH\003A\365\240<~\233eOu\357\n\213\3311\345i\332\354!\r\025\363\032\322JR\205\312\2259T\014f\363\222\325\334\004\341jb0Y\271C+o6\264\035""\301\346\242i\320\033\2244\020\272\220:\261\031\331\315\026\303\311hd3\022\004\204,m\266\330\326\3311W\351\214\316f\325}\312c\200-\252\362\023\351\252\354\331\273J\276\353\220\334\311\334\024}u\276{\357)\230\244\230\210\320b4R5\373I\272\274\273kMW\327\232\326lvSC\346^P%j\273&z\236\253\257\234\271`lf2/\032W\215\331o=}\317\225\346D\256\255\311}\253\210\273\3533\337\332\356\310\276\333\241'\271C\373v\371\232\356H\025O]SR\345\356!\353\315\207\0259\324\221g\332{\244\253r\327\267]\347{U\222Fr\035'\327\235{K\271nMeN%\271\352foI\367]O+\335}]\324\365'2\355^\r\256\352O\177O$y\242)\007\306<\254x\237\317\3741\327T'\214\231+\317vS\030;\245C\227\365\305z\312\276n\020\252\276A\276\273C\335\016\216F\023\343n\307\365\336\342ld\356\232\336T\225\233\267\316\016q\302\336\016i\276]\33366dW##\355J\035\276X\326\\\335X\366\245\276;r\350\242)\352\266\274\347\311\335\312S\263\237-gI\257\242\334U\327\327\352\307\344\272\035\351\271\177O:4\005:\271\376\365\221,r\345kW^\312I\377A\256\250+\352I\262\343\374\240y\335\244)\177\215\244H\177\256=\267\373\310S}W\335\331{&\177\221\251\021T\310\212t\341q\367\001I\206\004\241\310\020\324*\027\024\314\255\270t\037WYh$I\n5(Q\235T\360\250W\371\341\323B\2717\357}\253\331a[8\244\355]\332\\8\233\204\305n7%\262\245\205D\335\366\355\026\263\321hl^\273f\347U\242r\246\224\251\314\311\324\310l\270\333\353\204\2669\257\327\211t\333\225e\335U%}_O\022U\242r\250\224j\345\245,M&\037\236\322\224\3629\025*\244gK\020q\001\211p\236\262\314\301lfp1\232\r\253\271\261\201\251\271\331\263\231\353\325\315\366]\275\313\333\256v\336\331u/\322\207\272\\\327\256#\247\312\311\236\242;\262\237oj\252(\251\272\310\207\225\357-\333vWEu\257'{.\0324W\223\374i\327 \271\272\375\007M\325\227\034\266\035H\016SW\355m\373\232\244G\311\231L\206\354=\227\344\251h\213\276?\323\305\312\351\2204\370\0206\360\010\t\346P=*\"\rxJ/%\211B5(I\026\262\325\200l![\250\006\244\212\304\244A\256\001K\300!\004\020\306\237\314e\0179\225\361a\304\n\010\243\013\316!\256\334l\337F\373-u\251\206a}\321\214!\213d\n@""\"\206\204\361\007s\270\006/\2200\226bR\354\000\237\020\005\220d\224\330#\002\000\201\014\265\332\302|1\263\032>\247\t\320\277\331d.\315$\254\270c\364\371\\\233O\024|\026,Cd\021q\206\" \214\265yE\026 \303b\025x\003\242\341\263\206 \006\000h\310 \302\340\232M3\t\306\347D\002D\t\010#k\310@\203\221%\207\214\276+f\305AD\226!\003#\343\207\207Q\204\201\327-\272E\361K\304\230!\210\006\243hn0\372\000\200\257\353\333\037\273\252\276\364\207\002\332\343\351\270J\212\003\224\023\223\022\022\326fQ /\024\n\267\320\257\301\240\253\363\236My\375\373\243\276/\353\272\301\325\347y\354\353\335\275=*\354}uY\217rB\342\367f\273\367)\353\333\326]W\263\347{\355\271\323\336\262$\355\336\275\336\356 \347m\353\242@VM\275\027\266\253\313\201\356\336\301\225]Yve\375\366\356\351K\333\336{\256\337<\264\237~\335\253\337&\252\362U\365\233\327{WQ\325\365\361<P\335~\257\346^\371\366\303=l\371\026r\337\331{\272{\312\363\261\336{\325\247\272\324w\327M]\370\251\363\361\224\305\237\301\237\037\337\177V\n-\212\256\250o\327\376\303w\347\373\333@\226\365&\273\252\250\020\365j\357\336\357\024\023\024\222\222\215\302RQ\277}o\267\252\252<\341\211\236(\312\246\275\327\363\274\347\375\211\262{\3575\365\356\212\366v\317Ty\336\365\356\260u\325\016\324\363\373L\315\355\366\335\336\335\354\302\336w_\331\336\320w\264\335{\373s{\337\353\242\276\276C\323\336\177\200~\273(\017=\367\320T;\233\242\247z\372\2757\320DO\267\307C\333\335n\241\367\376T\325\323\365@+\241)DYW}\207<5\315\335\246\035\330S\277w\333{\325\037\317M\224\345&7\275i\266\3566M\223\004h\373\3567\to]\235O\327U\347\242:\025\355\272U\355:o\242'\327\351x\260]Qnr\276\375\251\016\275\312Y\364\307\357\240\273\362\322\275y\273\262\273\347r\326\353\270G\201(lm\273\004\037\\s`\274\347\350\353O5\346\271\217\307[\232\357\250\347\273\335\350\273W\223\355\375\274\361\352\215\357o\213[q\270\275u\034\347\353\303\033\257\233\352\320\273\332\025v\353\266\3665;\313v\217r\333\r\307v\003s\205\275}\366\030\232\212\262\274\317\000\371\255\333\266\367\250\257\3554\265\323vh;""\264\240\215\237\331\334l|\257l\255\241\231\315f\263\331\354l\371\252\353\021n3\331\r\314\256\311\261\251\211\000sy\366m\205jO\275\331Q\226}e>\331k\366\\\037zv\025\035\262$%\236\267.,+\337\201\366\036\362\266\345{\2432\266\330\016\214\313\026\253\211\311\270o\214\212\266g\272\366\266\331\323t5\2757\375\331y\\\365f\273\322\\\037\223\2421^][\024\250\236j\314\243\236E\3234\026c\023\333\231\231\035F\203\305\360^]\207\265\350\271W\235KUWN\353\255kM_\336wsmi\275W\254F6\253\361\256\347\352\353y\276e}\352VSw\365B\241\273\372\367\345\354\332\356\\\264\347r\036gw\367\273\357\270?\203{\367\037\356k9\320E\273\211\246~\330\256[E[\376\362vo\250\333\273\276[\226\355m\357\271n\357|\277n\367\273\335:4w79\353\275\371\323r\337\317\272\372uo\177\242[U\321\225m]v\013{o\253(\273\256ik\3664}y]\335;t\357n\356\276\272\303\376\252\350\371\303\353\272\325\357`W\267n\257\356\016\356\325\336{\257x\350\256\3459/\213\322\324\376\263\2660\354\273\2662\236\303t\267\355\336\273\372\313\366\326my\253sM\257s\311d\257\233\253\243:\337\nT\242RDv\356\353Q\324\364\\\304\277;\370\263S\325\363x\272]\337\242\273w\205L\255X\237\273j\245V\217\224\213\347l\031\314\271\254V+R\225ZY\361V\235\\\333\216\356\320\016\236\262\345\303\343r\016\373\0179a\002\331A\372\234\217\212\346F\232\250\020\333}\205\022\265K\273/\375Gj\205Z\351@\225\275}\275\032[\361\037 \036\250\227\\\256\014\3619\377QB\371\217\\\252'\345\303\223\312\215\004\245V>\347\343?\366>[R\210\236Bv\345\201\n\362;\210}\325\240 4\350\005U\366\254x\312\221T\313\266P\255\226\0205\247\346\036Lj\256\353\316\324\223 \273\205Z\005;\nt\021y0m\023\311\352xp\031\002\361\224e\013\265\275BOO\217\242J\377*}w\003\001f\235\\\242\333\250h\345X5\361+\027\010z\326\334eU\354\340\346\341\333\337\332| \312\361W\344\305\032\226\257\000$~\321\350|\204\3017\201;\361b\302\330s~\257X\343u\220\276\300 \211bX\220\214\000(/\37023\305Lc\2404\307\254\340\016\n\222\330\367\n\203?\370\363\177(|\n\347?\373\357\267oSW\244\304\213\025\206\200\233]\363\006\253\2026+(F\020d\037q\000\013b;\221""\301\241\201T\233#|E\006\331\214\321\205\301\205\241\004\327\034]\261\007\013\266\351\260\235\204\2126\023\366\33798\177AQV{\325>M\r\033\3718\"\360g\324\371\303\242H\375\302\345\026lV\261j\267\225A\3476\316\224\"N\255\200\376\341&W\255B\267<\276\007\004\353%\003\270\376{\t_\302\315\027mL\271\375\375\037\373Y\337\367\245?\245\375_\321\246\345\257\314\002D1\0171\343\202\030\2333\237B\353\343\313\340\003\021\000\016d`\225\014|\010\334\355\343\024C~\211\327\026\265k\365%>\247[ \377\200\221\247v\325\254\3725W\350f\237U\024P\374\3252\256\342[\313\230\374\022\307\347\240_R\277\246\366U\276\303\350G|m\220J\216.\332D\327\010\220o\361\207\027\302\014H\264\210n\230g\361F\021\002\312\257\315\n\344\037\370G\220j \031\331$;\210c\027C\0160\321\007\354-n\243\"\003\240\034\241\367*\231K\026\32489\251\270d\212O\370\202K&\203\347\300vD\217\243\2538K\371)E\n\244\371\204\321ql%\210e8\261\344\007\027\2100C\247f\022\323'Y\214>\376\207\305'\271\370\007T\026\0378\304\207\016@\030\037*(\340\003%\302\243\210\346\370\032 @\002\340\214\210\243\205\230\267\014H\365\317\274#\313\342\031x\004\017\201\260\360\302Q\243\305\022\315?yd\242\216\371d\0139\026\233\342\322\001\346\345\350\026\022\030\2476\262\030\0202\337\310\0252\320\2614\376f\007(g\014b\022\203'\242\203YE\226\211=8`\r>\306.F\324\017\214\034\366\200_J\363\203\017\321\002&?\214\267\373;\376\371\204?a\346\317h\210\031&\263d\233\212\010\026\203\377\001\337xy\004\343c\010\340\370\020z\274\317\223} \232\323. \037\204\342S4(\210\230}1\004\370%b4\034-*\214\030\027\000\0362l\024st\005\215s\001\201\023X\200X\374\346\217Y\301W!\305\324\344\0169&~\341\327\t\355\323\352\035]\003\006E\361\220XC\371(\244\006\372d\236h\230h\230 N\210j\236\271bV\360gv\036\277\241\304\240UX\265\014\315R\372(%q\202\374\344\201\177\344so\004\023{\034\267\317\367\241}\220\031\232e\301w\301\273\032\217\002\210\037\327h\2022\3446.\340s\3420\250\217\362Q\361# \216A\227N\207h\2211@\306\200\021U\270L@\326\305\036q\205\206\004\017\376\217f\231\r\234.\376N\204\342\256\366p\t\371<$""\226\354r\020I&\256U\206\223\177\"\003\223H\260\010\206\311nX\376\306\034a\022\273\245\371|\201\203\\\244\030\007W\300@\032\260\006l\001\323\324$\265\200\372Fw\320\001\350\224\362\303\342QL\"\370\021p,\3458\2405\022a@\225\026\337\305c\220\212\337 \341@\001\375\250\371\315\332\307\025\201\265\2206\241]\007\243\006\315\233\2032G\374s\354\311\375\234\016GQT\234q\000\247\324f\222YF\026\"\000\353\210\027\035\260\003\177\024\311'q\312I\204\231Ad\222\234\021\267\360\005\034\273\210s.b\005\234\321p\364\351\371=;\177G\347\257\21215\004\235\002a\304\271\371\274\242E\004\2151\307\344\221\014\361=\262\350\224\020\327lB\376\031\261~\340\3611P\031\177\026\001.\021' \214\\^E8\000\200\310 \377b\004pF\305\221Tf\374\214\n\243\210\"\036\020\337ds\311\350\3278\264\316|\0022\227r\352H\2025\340\225_\303\261T\237t\t\235`\306\265\216\265\272\242\026\325-\263+_\310.5\242\005\311X\222\003\310-p\t\216!VH\270d\325\261D\223h\225\215\357\232\272\257\343\237\343|\034\332\237\325\243\372\201\310\257\220qqE\354R\242S\010\030\244V\307J~\311\350\263\210%\342\315\020\t\204\030\214\254R\360\025\300\023\260\206\303Q\0047\314\td3\266\2103$ZyD\301\247\200qD\213\022\234\240\341H\201Q\340\027\030\0359\314\301\021\361A$\021I1\217Kb\0010\260\002\003\237o\374\215\006cM\205\2302$`\310\341'\333d^\\\213;\342\016\326\217E\234h8\272\210\357\220m(\002\003n\2116\342\000\242\304\220\213\241\300\310\310\343\035\330\005o\020cC\020\243\002\304\023\215\243\010\003\2538Q\304\325@:\302\274\223\023\374\004\020\016\277\"Z\327j\035\232D'\347\347\340>\316\366\317\242\252\216\241Y\\4K\371\1771\013\274!a\254\311\"\n>\304/>Q|\232E\267\030|\026\242K\232Y\243/\"\306\256\230\202L\360\037Dt\312\305\027\305:\270E\244\2000\226\210~\310\204\024\213b\nD\010)\3429t\3407\204\240%.\305&\211/!\227\344T\305\037\021%\032\214\277.Ze\336\251\321\262\240\030\025\r\271d\241\322\320\003\351\243\024\007\274\022\374z\305\344\325\216\202<\034\256\"\253h\303\2130\265\"\313\027E\000\026[h\324\305\267p0\221m\272\304\000\014\026\216\247\217\213y\361*V\243W""\021L\206\013\222\237\306 \000f\3467f1\024\241\334`\374\212\021\352\r\025\320\221\3170\002f\335\t\307\350\357\210\275\003;\022!\304\257(\254_\006V:\010\006\000\220`\021\352\204|\217\277A\032 \302@\342\364\205\220\010\364D\304\351s\014\221d\010\247\204\010\261\007y\023\177\220(\322X\"C~/qz\301IE\316\317\271}\003\305\223\332\365\341\214\017>\354\263HrpZ\035\337\207\300\350\227~\0205*O@2\021\032_\302\013vl\370$\207\037\222\255\347!\033@K\276\215\250\036\036E#\270\300q^`\3120\376f\307\024\r\034\302\300\357\010`\356`\000T\313\214>L\306\007\3428\363Y5\212\2169\272\304%\240h\003\210\363\017p\320*\274\243\311(\032\n\371!-\177S\375\321\353\363\212\332\257\255\376\252\002\265\300\350\032\";\200\261\001\242z6\277=$\002f\0058(\333\320\222\\\003\253T~\256\205\305@\216\354\302\014<\034\324\356\\`n\220\340\227\374\\?YBm\326:9\212Lp/\227\324\177\210\031|\374\025Q\213\023w>\344\263T\242\313\007a\001\235\223\217\317\0039\177\264\310\201\030\304E\253\260L\007\014dH@i0\311\211H\n\342RQ\343f\326\221\007\304\004b\030\212\314\311\211I>AX$\216\254\177Z\213\013j\027\214\365o\342\0256\021\321\272\031\345\205\204\3702\201}<y\005\013!\370\261X.\034\300\234\034I\036D.Y\20594~1*\021ABRS\340\331\\c\211\233\302\332\217\315\304/\207\003\200\224\014\256Zhv`\372\246\n\213V\026\0319\272\034U\022\344\325\203\356\341u\014\353\263P\336\313\177)q*\204\216\277\3316\237H\264\n6~|\233\370\023\035\"\362C|r\244@\372\025%\3242\032\202E\310\000\010\026\222h\024\215\217rt\231}VV*\204$\0075\364Hx#S\254\250\025u\352\020\006?\202\210\246\201\345\263\250\020\220b(\007\024Y\206\336\262\310\216\366O\212\021\034\374\002)q\317\270\215\204D\027\265\003\021\017\272\226D4\271\352\224\tiq\372\301\232\t\301\177\360R\367d\010I\300\005\275\221\010\236\315(\035x@\316\t\242w\002#\035\020\3756\026|\215\037\2638I<\031\234L\013\254A\212\253D\220|\276N\251x\3265\332\202lB\013\311#,\231!\367\002\003\017\203\004\254\031\031\3051[|\013\t\021A\340\007\0365\034~\255\316%\272\302\t\244%\243bS)\202<\023{t\030mdU\210QT\344\241[D\276\210\252'""\376\360\340\021{\0258YgE\005\244\241\250\023\332\244\310\027\254\217\"\033=\376N\342\241\206\251)l4\t\317\353\201\340\227j\037\002\032-\251\023\336\2218\276\376\005\334\302|R\355\242\017\3143\031G\201\203Zj\326\3508v\226\323\347\261\312\205:=\374|\010\264\200\020'H\022\355\014F\204\206\215\037a\313)\022(\316\334b\212\263\006\337\2263q\24250s\212-\0073T\312=\023\030jJR\016\327\021B\346\211\360E\010\372\243\307\301\350\223\212\0168\265o\016\226\022'\036\367db\265\251.od\0229D\343\267:>TB\302\231\304}\000\306\227[\336\331\201\312h\242PqP2\177\362\207L\212\342F\347\243v@\343\314<\331B\245B~\020\330\273X\031\005dUI\tv\364\030+\"\024!\361\204\313\260`\315@\361\213\303\"g\322\230Y\274\030\304\0241\237\334\234\214 J~\351\003\250\003&t\224a\374\006\336|@.\017\224$~\307\307i\000Z}\217\037V\n\247{;\337\245\350\003qB)Fh}\227\300<\314\035\217\264\351\307\300\246\335\020\002Y\030\364\250\021yC5\214\332<`\346a\200A\242{\010\364\212\242Y\307\\|\231f\306\375\202*\374\n@\037h\375\253G\221\264\252\265:\255bP\0049\345\341;\332j\377'H\255 \232\031X\220f\\\305\225\336\231e\t\032\216\030_T\274\325\035\277#\003\205\374'\314Q\363|r`\013\020G\264\367{5\255/\361I+\277\207\203d\30583#\334E\365U\023\244\326\357\363\256,\341D\t\223\004\377$^\024e\267\222\243\003\002\336\\\262\361[\356\000\255pK%L\376H\002\201\221\242\003\336\300(\312:\276\253\230S\307\030\374\230\342\311\267\020s\264t|wX\313I\0303J\364\312\307\267@r\211\031\032\003\210$\215\014\236\021\2272\2149\330\207\225|\224\234\262\340\371<\265\357P\240\206\371\310\026`\006\031\306\032\247!\314#\010\2149G\016i%d\276I\335i\017\332\317\302\035\0260\342\343^>G\316\313\377\240\317\331\003\215_\220\014\277R\260\370*\316n\262HG\351k$\210K\022 \277\027\254\240\266\205\310\032\2719\250\245%\264+\211\"\r\311'\265\300\006*\304\022T\357\312G\220\377\362\223W\016\000$~\\sJ\016\221{|\252\361P\340\rVG\305\261f\242>\321\001Z\331&\213\230\212\020&@4H\254\014\243\004\226\317\242\005\230\346\230\341\2504T\253\263-ej\006\004\000\000\000 \000C@0p\310\2100""\036\224\014\010e\362\003t\007N\246\t\023\271\030\222\261\024\005\2214\306(R\000\002\000\003\004\000\000(\300\261z\220\220\267x?6G\3155\025f25\362\037\313\240:\363\201\327\317\315\t\216\013\027/P\250s+\202,\207\357\340\372\3148\236\337\001`\345\376\376\374B\254\374/j,T\023\340\225Nb\025\006\212S\344\027z=66\245;\225\002\230\334\007\252\324xK\250\253z\212\330\251P(\024@\3744<\207Q\242/B\231L\260\2776\002\351\001\020\261\331TK\373\247Z\356\375\362\310\353\337^\25643\364\221\231\211\232\271\250\367a{E\n\2359\347K'\302\177\310/\265M\244\337\\\035\211\n\213\215A\267\326\275\254\250g\377\221=\004\272\365\222~\020Lz\334\026p+\023\215\330\3031\004{\027\001WMz\247\223Q;\024\200z}\205\323d\236\260P.\374)\rO\267C\230\210\366kP4\270\275\226\241e\203]k\244\244\034\036\364\014\251\201\225\t\n{a6\370\3450\302\236\304\342-\231\205N\212\370\215\212/k[x\305WA\372\250\263P\275\205*>\256Nh\362/;\235\017\330i\013\312\220\372\006\300{\306,\221\356|\231\202v!\333ag;\232\246x\032\025\312?\303\373ds5\343\r\265\004\376\370x\334\037XmjC\342!y>\256\030\034M\001\016;[\267\267`C\224H\363\336\036\005\350h\200/\376\252\232\234\3717@\202\031\273\010\363S\003\250\003\224\361ry'\340\010*\213`!\265o{`xU\274\2759%\373\277\252\203\213\351\313\346\030~~4\232D.\331\035\314\273Edp\234\201\240\257%'d==%\230\357\266\023W\356'\350x\032\262^\016\335\032\344`Y!\024\336\233&\260\177%\263l\271n\201X\214\034\263T\266\024`\376C\2253Eb\272\317\345~\204Q\233*-f\327@\352\275F=\2548\311\036\022\247\037;\356\364\020\016#\024\"\303:>a=Rs\244`b\332\363\264\354:\322\004\255=a$\316\371\204\341\256\262#\342B\277}fZ\273(\006\211.\313]n9MO\004k\262 K\021\346O\216\317&\340N6\356\371\350\023\306\326f\353\"\246\227\341\342\201\313\3014\322e\210\233\342\022e\023HW\243\320m9\302\t\022\370axck\000k\000\022\372\231\307\361\nU\375\254\330\300\324\236\317\247*\272\273\364C\211\376\021X\027\004\240\274\273\017\01037\225\336\237\205\320eym\205\303\303\337)~7(\037h\367\3521\350\265W\375b\002\364;\300f\234\303p\366^\267g\212\215/FO\205'""\006!\330\\\344\306\300?k3\215M@\220f7\0101\310\247\237\007\217\242\235 \236~h\273\361\310\371N\350\313\247d\265\350\364\276S \220\027\354\206B\025\375\236V\231I\344l\307\231\177\024\261\0377Q\000e6t:\034\310;\023 u\375\224\204GQ\231\237i\344\"\274f\020\022\200fx\242\320\227\016hb\222&\242\362\263\266u\ti\3379M\352K\340\n\334\360\262\254c`\313u\264MO\260\377\227\366u\201Ob\212\325\2235f-\230%oS\030fW\367\203>@\217Iy\3668\2371\0366\016\010\321\273*\025g\207\244\216\013\263\034\222p\261\017M\355T\257\273\207S6v\234\321e \340\206S\342\350\004\245\013'\254b\256\t\005\211(D\030\r\314\2047DL\230#7d\222#1\205\032\230\006an\262\306\303\353\271\213\t\352\036\250\347\030\302\016\013\300\032RE\234\205\273\264|\254\327\306\337\177t\000\335\223=\234\000\3337\365\342\034\203\236>\022F\377\321E\233\225i\313\262}\232\345\014\234\234A\271\341`(\273I\201_.Z#\240\311\254^\026\013\247X<\037\023B\234\216\212\022\224,\225\365\033h;\267\002\031\275\323\312\320\007\037\334\2509\310e\206KT3A\234\1777igb\303n\352d\204h\230:\246\201\350x\231p\215\007\344\235kY\030\302rR\244\311\312?\001\030\262$\340\000\370f\036\356JI\316\227zf\316z\214n\212x?\352\036\241\355\325y\342\337G\327\006\307\035\265\327\270\000h\214\001\0248)\305*6\332CM\346\257\322\211\345\342%\201\027t\203\nc\3259\326\353\023\324\334\n\261\033q\214@\270\216\306R\334\016\363\013@m\323\005\252\322x\241)\010i\221\350\210\366\364iq#L\326\005w]\317\026V\225\356X\\\214\244\0213\255\272\264\223NG\330}\322\360$\361\267\201\251\2422\004\320A]\257\211\352g,\351\375Tk\340i\214\022\\\254a;\206\233b\233\370f\344\260\312|\2712\371\334\331\253\305\307\n\372\016h\374\251q\331\265W\352<1\267\035\254\224\313@\204}\0315V\230\346Y\305\004\316O?:\212\330\014<\310\311K\326\270\0353\331\252\372l\210\376\340\031Y\273\r\254z\211\010O\211\337\322(\227\202\\\314\203\240\357}\274\264\013&\313\033J<\3134@\364\205\343\000\272\034\300RWH\004E2\236f\016a\013\030'\364T\356\355a\367_\276\314\225\000\344\322\265e|}yL!\275\301\346H\326T\307\027\234\336\007[\3461""\023\215\314\006\240\241B@\246\315GxdH;I-W\232\276H\021\346+N\233\275\323\033\216\320\345\203\357L\227*lc.?\347w+\207Nq\260[\211~q]u2\245]\251\024\305\030\252\315\030\0167*k\207\216vUY\353f\273\207\021\031\017a\351\036U\310$\211\255uD\252\215\342H\252^\027E\343\266~1\217;7vA\026]J\036)\355+'\337m[0G|a\360\006\306h\271\210{\362\347\266\355\255g\357o8\337G\375\033\324TC(%\230#k\210\200\306\212\tt\222b\234$\003\013\203\277K\350\2107\334\337\002\rp\244c\343\337)lA\363\001\332\306k\024%K\007\306\232\203\362\310\\\317#D\217\021\213\037\006\364\034\2723\264\r\357\225mou\341\352\221\303\324l}\226\275\307\202E'\263*\207bJ\257M\013|\t\302r\267\231X\201\271!\036\362h\232\333\320\241\213\304\223\000\3232\022\274\315\322\226\021\275Ch\225Mc&\253\004\240\374Bg\274w\223\321\247\210\2429\345\177\031\227<\317\234F\362}\371\223\n\030\337\225\244\353\271\370x\311G\214*\266\243=i\331o\316wW\261B\354e\265\201\232\221\215\374=a\r%\311o\320C\033\304\270\215\\\306q\366\223\310t\025\235b\346g\234\267\366\353Pa\211\345\227\373\210:F<\225\371\033\232^\226\242\324\320&\304,\214\346p\230\345\177\351\304dH9\325\n\204\2050s\263\353\311\307\205O\360\361\210EX\206`\205\375'\343#6\363\335\213\221s\255\343\004d\211F\272\232\017\213.\366\261\265u\232\374\315\034?\232-\024\367\273A3%\340\000\345Y\363\313g'\366<\200.3\022Y\211\376\236\020|\\\311\202a,\303\024;}\273\316_A\334=L\236.\237Q\355\305\022\216P/\202\305\343S\370`\300\031\243}GU\225\242Q{G0\262\003\004\353\334\2529\256\307\033\265D\204\031\224\302\"\035.\313\337(\320\310\346k\2441\023\313\006\356'\254\001\254\377\006KY\203\241L[\334\323\332]\232P\314F\2129A\355,X\333\r\333gQ\246\303\032\307\022\336\351\235$\342\263\233\204\302\214\314\234}\036=k8\376\002a\376\210~v\310\201#\325yM75_\215q\177\021Q\333\224B\nE\005(\236+\201b\316GX\337\306\316\020\320\257$\243\367M\024\232\336\271O\031\035j\0162\252\321\204sRwi\362\227U4G\325\274\215\225&k\220\2348A\263\221\027\2369}\264\215>\236\253\000OJ\003\017\242TTj\210\364\017\334A\204^h \216\324U7H\002J(""\2208D\276#\222\223%Q\274\005\343e\255qT\262h\256\341\222\263\371\027sU\202\201\t\272\340\226\337r\231\256//c\276\013\304)\000\203\2779y\246\224\214\331\014F@J\220\002\202\250\252\321\234\243\037\02074\261q\035\315,\201gHl\224/=~\237\271\316^\306>\356\230\271\354\341\202[\277*\255\0366\337o\t\020\371J\371+\000 \231\374\207\244l\t\361r\335\305\"\027\324#\337\361\2712\233\216\262k\304\226_\206\244\006\305Q\321Tk\366Z=\367\033\344\025:\005RwQ\305\374Z\257\036]t5?S\010\3017U\2607I\240\221\013\353\257\235UXlv\244\324\370\275\220\305\017\262b\234\204\232\323l\267\365\232\036\271C\377\243\274U\352\004<\317\236+\234\236\233\217\325VV\225&\200\255\257\330\3437\010\342\031\016`\034\270#\251\223\210\020q\313 \350\2404\232\330\311\220)1\000\365\346\233A\313Y\364\240\310\201\340\3437\252:\315\007\3727f\351\246\221\362a\2517s\226A\026\233%\2314\305z\304\360\202'\250\223l\311\2607w\333&$Qg\t\210\024[\032\303c\262\257\0270b\340\\4\233\025u\214\325\207\355e\365\214M\274\260\307\260\371=\027\204M:,\006\270\031 \356\252+\335r\200\007\366\276\t\006\353\201\325M\377\216\325lIG\222\305\251lq(\322I\311QMx(\3228U\224<\311\014\217\203\022\202\353\252\244x\263\302\265X\200\305UR5\327\330\037\352\303g\374\0230\251\356q\322[q\0300\200\030.\341~\263~s\345\020\220W\020%\013\005P`\026\360\326\216\035Jm\221\000\021\022\306\271\346\355\255\216q\263\314\310\217W\007P\344\010\345\033\316!(2\004\211>dM\306<\033`\263\370(\032\352\020U\002G\271\374\217\206R\206[\004\210\371\311~\016\033S\316y,\300\233!4Z\036Y\217\314\030\307\276\2234\377/\301\364G\231\206\010\214\327\205\324,\204\304F\346\304\203y0@\023b\216\340\351&\3078\367\257A.\360H\r\370\003\306t\206g\326\265\320\310\022\006\366/>u\316\375<\346b:\n\304\211Wo\212F\262\352\366s\320\316M\323{A7\021\320\233Qg\n\227\024zc\377>\353Eh\020V\251\303\365\312\030\356\325$\210u\251\234\320\t\371v,\235\341\221\031\014%\324&\277k\030F\257qf\301\377\\\372\201R8\005\272\334V\301\203|\267\025\r1\306\372\341j\376\250zJ\025g\346\310R\033&;$\267\247\303\332\214\212!""\032\004\374\177O9\353[\263\002<EOu\262\230\002\254&\371\002\014\267\332PJ\372n\243Y\n\250\230\030\202\301\231\215\215\240='\234\225\016\212\206\206\372\344%\366\253\341|\3355N\266JR|\344;iX\214\311\250i\346E?\340\276\261\225D\373\231\201\206\374J\277\231\010\242\360\237\214\253\025W(\245\226o\250\311\267\003\333;\037\323$}\320&F\310D\266/\341\250.\000\250LN3/P\027--\260<oi\356\275i\007\373nc\224\314\345\236K\315\253 //\244\224\305x]\007b\016\036\002\010\305\226\316&Le @\027\337]\371VJ\212d;\311\302\0048\340\022\377\006M\212\266\026\227-\260\200\004j\033\000\251~.<Z\270\307p\021\267p!\263\276\265R\375\035\205\334\217\3536_'`t\323\254\005D\205`\232\216\360\317\315\353\215-\313\335!\030\307c\350S\334\213\016z\363YIp\033\342Q\017\250F\212\327\352\205\203S\257\252a\364\275X\230uA\263\211\343\"\006^\020\251\307\352\270&\366!|\250\242\357\333\354\013\302s!\036k\347\355\233F\022=\0275\002\223\230P\323\203Aq\rt\321Z\254\372\034\242c\317\254\364\330\220Sm=\223\331\341\351\263\221\007\3021Q#%\230\211\224D\376bs\264o\3032\026\016#\246\020\250\362\021\010\367\247\366S\232`\313\340\3407B\275\212\334\327\265\263\3136\362W\247\263\363\023\234\264\210A\204\260\214\256\365\324\320lhG\024\356\220\321\235\312,\352e\264\203\302\226\353\250\362\t\201\300([\034\237\322\250q\020!\341\016J \002\\\244\244\325D\266?\351\316\031W\234\350\211\305\263>o\352\016\021D\026y\260\223\306\254\263P\330!\244U\022\005V\273\271\331sN&\367\2611\355\241%\371\2140\267p\237\341\227\305\351\313w\235\344A\014T-\"\232\006\257\0356\001P^ZR\366'3Y&fl)\300{\276\374]$\334\337\304r\230\371\365\333\312I.\267\200\035\252\354 \260B\021i\331\007M\226\351O\336hs\347y]7\236\0240\037\217WXB\332\2702\270Qu\226Ep\034\220~\023\255\007y\213\372L!\374\001\217\365\221\325\364\203\r3\361\354Y\202\216J\323m\347\351[\nc\001\022CeL\223\303%v\363xW\231\375A-\327NMp=\206\254\223C\310\327\254H\214\367\371\007\206^\357;\211z\232\223\214\034a\020*:\375\330c\003RB\257\232$^5\377\252{\017\rH\264',3\237T\023\323!Q\215\017\301\r|\341W\300""\336\314\267\360AA\251\363\330\227\3647D\257\275>\252r\340\274?\371\362=#\320\221\340\322x\327!f\352\023\214\234|\360\023\t\350\242\372\251\001\216\356\235I\210K\027^\035}\354\240\275\0079\275\000|5\253\036\207\014\346+k\272\330\321m\023q\211\267\210\\\013\022\311%\227\247E\223J\332\0252\260\006)\017<\375[\376\013\202\222 \025\363\260g\352\261\013\222\256\202*|\337\220\355Z\325?\345\237\361a\225\037\301'X%\254F\225w-\352\013\343,\276\222\035q\311\254\354\341\206\237\220=#\362\231\"\260\331!\272\214n\233*\032\363.\311\025}M*\342e\006\366@\214r\241 \314jD\024\r\024+\354\340E\212\363\322\374\264v\217\232\2008N8M\245\033\376\004\326a\352H\253\361\337\202\335\\\013\306\211\343\240|\311\2108f%e\230\255M\376\003\363F\037\323\t\241\022C\370D\257\335\232\252\023\\X\345=\214\277\312\033RK\361<\202U\353 \205+\355\341m\005\215T\207$~\362T\210\002\001\316gi\227\240r\023\272\231XgW\351\343o\230\312\005\204\035O\244\361L\274\347\245\304\317i\333\227\364\036\260\312>6 \036[\2370[\227\324\016\274\034\265\274\363\337\361\242\362~t\353\007|\276\023oG\315\234\365am\341\226\266x\374\333lc\251J~\003\327\227O\021\334\243\032\352L\\9\312\273\300\203!\322l\005\216T`/\313\240\3106\214\362\3549\352!\234\036{GC\303\215g]L\036KC\312\371a\023A\277\303\022\217^\254l:\314PZ\267\3456\205\310W\000\217\267V\370T\226d\327\275\264\361\345N\211\230\234\327\246\200J\200\235\\,\277\356\0009~\025\376\007\"\207G\256\201\315\232\333$0\033r}+p\245H\222\337MU\266\260\227\265`\017rPi\315\205U\211\217\027\256\312\330\321\036\027\222;\024\031\264\360\r\200\032\242\354\265>2\n\243\243\221\206;\233O\277\027Y\247p.E%\262\316\361-\251\201~m[\"\253JQ\367\312\327\014\330\303\021iE\354\336N\017\035\267\222\2152\357i\341\250\232t+\003\372\277\027\320\023lK\354\364\244\374\005\303i\212\374\361\303r\002\347\355\t\320\220N\336\244^O\331\334\365\027\323\023\301=\245\343;C\355|\355\324\\\210\021Jh\210\030e1\231\216`^%\230\340\3542\307J:\320\341;\025o\243gNz\333\254\240=\206+\230c\205\377/FZ\202n\270l\3338\222\242\217*\251""\247\362\t\324\243\327\216[\n{\006K\235\316IVdv@H<!\023|k(\216\377\327x\224v\321\025\361\202\323\206>~\363DS\022\326=\216\033\n\016\020$\210cx\026\212kM\210\327+\230\246\266\323\217?\202t\354\0363\021\271+\244\266\2158r\266\231\317\340[O\313\227Xm\222W\2658\353\241\016r\034\016?\336\307\244\"6(j\331\000Q$\237\212R?\233\300(\210Y\033s\200\242,\221\002\n\032\207T(c\355\356\203D\017\270FA{j\017D\207\0061\034\312\272b\0248\217\024\347\216\227\2520/\321tG\3110\025\373\376q\322\202\311\371\255\016\205m\010\254eF\020N\351S'\312\231\260&\363q\352V:\"\232.R\255*\230\355\375\252\362\017\214?X\025 \002\326\016n&=\361\374l\221\315>a\250\032\306=p@\264j\330\306\205YA\262U\3079y=\327\246`D\177(\357\3279\213\314l\255\013\276\tw\355\013\014i\311\013\300\315\036-=\361\213\357\224\325a\366\376ueo\233\335Z\262\232\241\363+\245\301\370\324\004\303\236\210\206 U\307.\031o\352Pp$\372c\232M\304\2151\025eM\352\324\345\300N\006\331.\343\034WI\026\223\376\261\231\016\277)\220!\354p\326\025k\300\266\343\254j\016\266T8\021\013\264[\350\343;Y\265\037(\366|x\254]\211N<#\260\376\330\235V\0350\375\234,[\033\220\206g\321AH\253\203X\370\304\"m\371\375S\236\242\243&\023A\302/\364\265\313d\364\231\274\362\020\014l\010\257\304T\006\"\304\000]\263H\343:Wq\344\314U\265\037\253\342}\205\255\255\224\307x\363\355\220\0205e\321\223\346c\031\022\237\370\013\t\020\214\003z\344\000F6\233s\36781\263q\366;\266(N\301\203$a\223\251\210<\014ul\370\031\344/\201Dh\370\316OSQ\240\356\026\001\316(\027_\367\305\332\3045Y\275\307\306\301\354\334Vx\353\201\271\033\213op\261]K'\020\006\216\346E\245\021(\357\3639y\001\360\206\273\"\226\217\315p\212O\322\376\233\250&\346\333L\302\001k\005\221\210\350\375\306\366\033\226\322\211\nAd\025\343\022\004[\230\357\322(B'\002GP\264\206B\205\300\233F\376\267\030\233I\004\322\232\341\250U\004\207\341\222\353\204_\n\023\227\205\226\273\306\026@p\361\331\363\030pA'A\356mBG\036\362\225\267o\344\3525\203\245\340P\222@\220\317\253\200\004\014\375\265X\275^\367\244i\356~T\205\362~QC\225Z\034""\370\260\224O\253\354U\252*\230\262\027\202Kb-\227mJ\213\2664\2707\205\215v\235?\301\235J\346\205mz\354\210\373~mj{\005\360p\246\314\265\016.\335\256Y\356dr\335i\260\371\254\326\361\325\310jq\336:\033k\302\344\016\001\350\t\0004\373\017\005v\274\233S}<\207A\267\310@\215\033\366\000\324\224\246\355CU%\034\345\263\253\223\345\010\233\211\222\221\004\031\325\260\247 \301\253\330\372\332\035]\324X\265#\3670\213\202Y\032H\227\351S?\361\341\246\240'{\335\nr\337\335.\326d0\243O\211;M\036\277\201\333| \304<\177h\372G\3647\3759\215\243\2317\353\306\024T\242\361:\006\3017d(\024\002.\317\213\212\326\345\357@\272)\312\327m]\006%V{V\227\003n\220)i\003\030kSg\242\214\267\243\377H\303\257\206\306:\261\3457\206\312\365\354\266@\243\025\210\372\034\035\326|\355\277\262 \342M\020V\332c\024\336\267\020\3038\222\262v)\257\335I\217\331\203\253\241\324\336CL!\265T\203\377_\206~P\260\220.\335)\240\313\377\351\000 \215T\210F\332\032d\207\251\237\263\036-|\r\204\352\017K\004\231\020\220H\347\007\230\245Sa\022\342\372\365\262\241d\273\302y\361\307W\323\274=\302R\317\365jv2A\003\364\024l\276\234\203Lu\242\267\341mW\004\247G!lU\023^\236G\034k\220\350W\247\324\357\374\331\277K#\030.[ 0\037\212~I\334\273\332C\367\327\377\033\267\372\262\274H\231:\337\241+\332s\375\017t68e\247\024T@\010\330\252\270\345%\004\344r-\33098\030\312a\307\241V\364p*\334\0073\244Q\t1\313\377\264~\233\013\001\2104\314\254\r\267:\340\302\376M\335\224\313\360\033~IY\210\004M\202\001\023\344T\234\272\236\347\n\212\342\365Ad\032\032\350\310\251\344\236\365\364\352\251\377\371\236\017T\341x\346W\363d\321\303\265\301o\267\350\350\002\307\230x0\265\300\263o\366,\"\3555\213O\273\263YZ\202\337\253\315\207\306Io2q|}\005\225\254\022Unm\221%\325\177\007\3609\245\022\314\235N\372\266#\010\001\005\033\320\273\250llb\023\264N\244*\223Fz{K\212N#\217\255V\2337\3258mx\2554c\204\035\303\032\364o\333\344\321e\010\254\031\223t\230I\236\321\241\276\347\007\260-pc~v+c\252\375#\316\275\021\341W\221\211\227\233\300\264\010\360$\315\035\25219J""\245\206\360Lg\007lG\257\377\272\275t\317\334\372\007Ue\231M\307Ug\315|\317\033'\224\000Y\246\036)\245e\304\222\223\2633}v\317\023y\017\337\301S\232\376Kr:(\264\023z\020^\\\034w#\204\224\272\301*\326G=\231F\001\342\300\006I\274\241\362\216V\252W/\236\223\025\202\373\225\335\255\302\304C\236)8\244Q-\375]\3131%hh\266\375.\326\242\347x\306\373\240 @\203\226\014$\265\021%hb\237\031\376th\237\244\364<\000z\256\375\363\244\253\272M\361\220\266Y\365\3029iL_V\210u\373\316\t\362\331\273E\307\354\372\232\336\001\217\036\256\2274K\355\"o\030\211|B\331BrvB\330\330\030\365\305\276\311\226\215\306\263\333\324\rC?\0249\230\017Db\351-\366\364\014\210\300\006@\265\3534\032\n\031v\354\200\370\351\327\271\334\363;\206B\363\272ZT*E\021G\n.-!b\026\313\200y\307\007\35006l\275\343\262\004\274\221z\225\204\266\354\314/\027\221Qy\375\227\274\030N*\0272\205\254\3553Zz\273D\244\267\003\344\346D`\234\234\232*6F\221\343`YK\255Vcl~_\214\320\275-A\2034\250\t\332]lO\211\361\271e\365\322\302\314\323n[U\353\222\257\222\n\360\257Q|\373\352]\236qf8 l\325\311]\230\032D\377\320\253@\332Vs_L r8\336\355\266\004\347\233paD4\036\233\275\020\177\316\261\306?\213\207\306\313\222\240Z-\033\366\325R\244\002\231N\302nq\270\017\304\021i\213\020\265\342\215g\342W\326b\202\222u\367<\022\006\206\315\334\003o\332\337\026\225\n\322\035\264\\\231\330\252\2058\227\200T\277\321ES\2501M\231J\362+\372\r\342\"J9lx\201OMG\260\010\253\034\315\tWJ\225\352kju\017k\3204\321\005\003\277 \220\325}hj\252S\246Y\177\224\353\032e\326\205\317|\023\237\021r\244\373.\211\272\276\317\207S\213\345\301\035\001P\372\230\013H.\003{h\004r\336\014\275\310:\375<\210\302k\260Ug\370(\210iV\360\007\007\003\205\233\327\267\001bq=^!\206\n\230\351\324'(Du\342\002\244\014\005/='WtLVA\253\260\334y\265\320\020\241g\031\\\004\324\350T 4\326\206^&UH^\275\177\375I\272\006\000\357\247\334\243Ro\231\321\261\250\270\342\332\240y\250\242\036`.de7\036\224\327\304\344}\260\004\024\023\214Y%\271P\224\252\237h\261\214\210u\3445|\240\205\322,\024\312\220\250\266%""\222\r\314B\017\357\256>K\374i\2310K\324\017\261\r\022\330e\314\233\036\037\322\313\201f\227K\006\354l2\264d\376\242B\013=/\273\325P^\222\265x\320\006+\213)\307\372\347\020\241\203?p\251\n\322GS+u\203E\024\344\221\240X\013\271\307\243c\361\232{p\315d\365\032J\327\273t\241*`\214\006\303\245\037\r)1\246d\374{\235\323\244>\365r<\272\241\022\033\236J\300\021\362\003V\367\365\353\255\003<\345\304\021\221\370U @\000\215\216[[:\000\273\273\366\374j#h\016Q\304V\337\0203b\326[\013\030\022\357`\376Y\3235\\\033HM3\rUg\267y\305\300\253\263i\004\013d\257\276d\322\3438\377\025\":l\372\202#\002\007\364Z\350D\375\375x\372{\177q\271\363b5\213L\243\347%\216\347i-\217\007\316\343x\001\373cEw\243t\264O\231S\025+W\222K\332\212 \301\017P0\324\347\000E~\242 \375Mo\256\002\270\354>\241u\263\342T\346\245\203\305\217\n+\313\215\246\276]\020\030\246\360\345\332\374\301\033W\363N[E\357\342\231x\242\203\360\202?\235\033\214k\375\222\250\317\243\212\305\265@\244\231o\221 \3101\307\316\360\350\352\335\375\014/\343U\265\004\275\021\240\371\226\224#\257\306\245\251\302r\30066\255#\024I\224\241\344\376\010\224\360\267\342~\351\200\372[\215\364\rR\253\023\252P\377j\327\241\303\032\335\365w*\274\324\201\321z\212\3206.\361`W\\~\341\"Y\"Qq+\371\000\006\352B\367\261\337\356*$.EW7/\272\016\254R\036\340[\244H\277\333\220\277\232\324\r\322ll|\2256\234\022ZaJ\004\302\273 4\202\320\246\274\265\252\023\201g\345s@\274a\372\314o\353n\314\257C3Z\001\034y\213=k\300\205\214\306mua\262V\210\031\266\272?\254\270\306\333\266\363\324!\251,M\371\023\223Ag\261UG\036\216\362\336A\377T\003\226\327\250\267\315\001\376c\373\247\023\226S\303\033\242\262\364\203\3468\362M\322-\216\316\235[X\177\233k+\232oD\270\222\354\341\004\233\317uF\037\364o\010W\000^\035$\307$\261Nd\013:\242\311\3500\300I\325EW\211S\323*\331s\0108\222\235\260\244\222\303gR\333 \341\177\242\203\233\005\007\005\241\251`#\224\344.\306\r\035\237l\320`\213\204\321~j\032I\034\341\272\214\005\301\351\323\321c\206P\230\027\002\314\r\254\306S0Y\227$\342,:\260\211""\307E\375!=G\362\222\355x\021\t\336^\024\345\036\272\307\325\014\314\300EC\344_\025\330\377\206\354z\333\323I\364\303%\027]^\244\273\361w\232\303\372\346\214:\276ki\265\\\334\362\277Wkb6\274\345\023s\177U\004JB\001d,4\235j\022\302'\022\212n*\275\310\257\313\002-Zy>\252\303\355\264\245}\271v5A\037W%\333\2613/\234\220\245=W 5H\3500\362\200\342\212^q\216S-$\nc\"\227\254\207\237d~,N\013LH\202t\222\002u\344\342=7\256y\366%\337{\320 \3474%\013g\"\322\244\257\246o\3322\0133\362,\364\374y\265\360\307k\311\037{'\241\0310\002\213+\221\372D\331\254C\261\362+4\n\355Y\322\352ti\016\367\002\322\316\030\331\322\316E\243\202\270\0358?;\037\210\213|\306\261\323\305.\274&\252\tm\005b\004\270L_\200\026\313\354\337\317\335Y\261\356F\230<\320`Gr\340\214dw\365\323\335\321\213\2705\006\235\302V'@\273\202g\200FI\002\026F\007\324D\235\307\332\006A}\035\276#\200S\362wC\260\332\000\346N*&?\244\0302\227\365\256\354\033\005\330\371\271Z\322\320\006\007\325H\253F\3546\337\244\363\372m\365\254\330du\032,k\231n\310\340=\203\274}\230T\005\n\346>Z\207\354\304\037\310\266\265\317\r'\202X\244+\241c\014\300\253zTGY\320\002Ik\253{\253\306\223\\1[0\350uYd\2455\264x\322\262\024\272\340 l\266\252\034\325\242\235T\363\023\316\342\314\346\334\316\346r\226\t\364\014$\250u4\276\230)\244\356\334\331~!\375~\007\352\215\265Qw?*j^wdR\206\020 \031\234\201\303\335%\2244\252D\014\210\004\2674<\2510e\221\021\372m\021\205\312\0058#&\327F\210\277<\225\326\374g\002xBl\320{_\347\343g\323\363\347S\177\210\322\377\327C\340eO\350\237\377_\343\236\224\337\275\005\373>\"\007\237\327M\374C\177\374A\\\3716\337\374\350\032\372\234x\372' \370Go\236\357\033)?\032\177\237\245\026\377Yq9&\277\335\267'\370c\333\361\023\261\346\277\375M\377\240\207of\025\372\003]\362\0231\367\337\257\370O\024\375\235J\367\017\364\364O\245Vq\334~\377\361W\177\303\367?Z\304\001\337\260\014\327\r\240\263<\001t&\316\000\327\315\017\320M\227\000\035\370\n\270z3\315\206z\003\212z\377\332\255\207@\327?\th\246\333P\260\216\200\266\323\240j\347\334E\0336\243""\223\003t,~\300\265L\021\350\001\202rn\277;\312W}!\201,3\353\\\312\177\224\257Xu\255S\004k\034\203<\245,5U]3\210\003n\304\273\tV\n`\233\242k\203\275\221\374\352N\3466\034\316\243\227\375\372\037\346\331\202\363\n\325\251w\230\262r\307\225X\002)}\216s\230\215?g\241\005\232\217a$\207H\264\235$\007\317w\206\250\"\267\350\321\tEkW\010a\\\227@G\313Z\326,\030\274\355\334\243\210\312\252\343\220\221\347->\314s\033\037\001\313\335|\n\312e\246\255A\236\003vN\254\200\312m\3563\313\361\003,\256Osn\031\033=\n\212\030\374\016\3058\243*\177\337E\027\327\365\275(zS8,\251\323L\031\237\345\017G\006F\"6\321\204|5I\260\207[y\032\321,JEx* =!6]\277\222NC\252S\242F\273\364\312\264D\263\271\240-\363K=\037\251\254*w\211\257\310\247\023\226\3067\2353[\214IN\347\302Y\276\020\317\306\351\003\200Q;`\275\326\220\311\324&\355:T\301<\253/\315\200\205\337\207\207\341\021\345n\0329\262\263[wJ\203\213\242X\272A\304ed\034\256\303\021\316%\222\200CAD%\r8P\036a\355\222\312\342\323F`\034\223\273x.\246D5\216\212 \375\257ci\246]\034\324\323\035eW\217\300\307\361\200;\306S\326\036\352\n}\346\273\246\263\353\350\315\361jF\342\334\005\206\000Y9\242\016T\036\347\327\352,\262\243(\240/\311K\206\332I\312#\005\263)\216$\347*&\035\234R\221\215\252\\'{W\177\264Ahf\253&\333\200\241\3508M\211jR$\351\373\014mc^\024\277\033\366Q\223\030#\013\n\201\261ygb\245f\320\275\355\216\233[%5\022\346@\214Nw\265-\357\025&\224\002\007\005`6\326Q\375\256\332=\304\261\256\000\334\242\305s\376\247\201\316s\324\257,\3073(\217\220\334*\367A\345-\207\247\020vE\014Q\031g\252/\r\346\365\026:\3024\0220\332\363\241\302\232.\233\245\204\363\002\311\245\316\213T\214\1776\227]\266\206W\035\006:s\007'0\270O\200~\251\356\345\362s\223f\327\277\207s\002T=\320\317&\023\346\341/\261\2775\024N\217\316\200\343W\307\346\251dg\023\347{a\tR&\034\364\020\216\3000\303\033\210%m\264\223\365u\224\033\230\3542v\233\215Bp\306\013\022\267\305\265\342\341\332\225\236MJCT\337\341\006\014\234q\242#Y*s\327\240\264\024\3541\177\037D\2526\3004\207\217\260\013\316""\242\263\322M:~\334\r\306\030\264\373C\235R#\\\317\331\232\211(\273\241u'a\"\024`j\225\353'\360\3418\225\266s\366\005\017Q\257\000\336\262\007\022wi\235\033z\333@*\211\301\277\217\340,\211\3575*\014]O\265\371`\277\264\010\357\341d}e\360z(M\026O&5u\014O\357\214>\373\345mN\231\377\336\271\200\321\250y\231W\360TU\351\346\006\"\024\002\n\"y\202\025\270\270 \032\006\037]?]\030V9U\\\264\227Y#p\n=@\215\213y\177\013\262l\2473\201\320\200\030\243\002n\003q\366\312l\306\320\014\212\322\221\234\027\372\370\031\213hO\373Dd*\210\327\031_\033\002(X\273QS\207\371\323B \334H\300\222\375\273\252\310) \227s\211\211[\366\320\221\321\314Qp\n\004x,\307(\315\322\325\232znl^\221\307\364\220\304\010$\331Z:\265\251\006\265\014\203W(\203\r\217\307\347 \263>e\345\316Y$E\247\302c\2649e\2244k;D\353\217\244\254\033\2130\305\302\r\253\335\236\306\313\257\301\243G\236{\354*T\316p9\3407\317|\023\335\255\317\022\371\2746g#\213\337Z35\324\320\336\306Go\003\002\027\304\373\000\024rE\3477\300\241\250qT>\332\207\272y\251Y`\021M6S}l\342\325\202\226\313\321L*\313^D\223T\212\301%j$\203\204\3719tms\t\371\001\237a\315\003\223\330x\273\240\227\373\2005%\002\211\247\321I\346\021\352[L\257z\003\352:\211{\232\320\341; be\3179\2652\357M\334\217\004\344\266\266\035\355&j\336\016\225o\247\324\232\375&\014\213>\016\025r\367\2311_\003t\377?\356\316\r\320\333\256\302\325\177R\324J\317\340\201\331\017T\360X\363p\361\243U\016\203\234A\370C1\230\020\346D\371|8\243\233\313o\353\034\230\327\330/\354\213\345\375Y\373B-\216\005\002\356\tVC\r\264\341\245\331\217\273\311z\016F?\237\0041\006b\311\273\340|\363\306\177\233\377\275\315k\032c\324\rF\203yg\303\022R\365\274\356\361\021\325C\373.\201\016AC\272\017\315\223\346\260\337\t\353HF\025K\273v\367]\266\"\216\223t\235\025Ij\243\305D\212zBm\365\303\307\304\244\263\256\327\r\240LS\3069Zl\330\\\275\035\353\342_Z~\021~\035\033\351\277\333\014\001\263\252\321\002\014\002\205\017:j\3257\0253\232N\273zW\353\344[\254\233[\305~X\337(\003\252>\366q\314\363\307\203\306\300\240\240<=\323""\022\010\023\336\240\030\257\022\376r\346\214\252SE*m\360\n\256\275]\007\330\002n\353\300\270\275\263zi\322\371\220\374HB\267H\014?\305\304J\242\341w\016\316,UeM\035v\306\247\235\010)\225\027#\257\304/\357\336\355\274Q\344\235g\320]f\272\013y<\036\3010=b\200\376\213\344\221cp\364\232\007zw\232sF~\020z\245\365W\025I\352\235#1w\335\216\206H\266\023F\205D\177\264\247\"\214}\207h\320h\302\020\3069\224\205vZ\313\014e7\350dm\214]\324)\304\274\277\321'\273\267\350\002T\020@8\r\032\226\3579\020\366H\033\345\213\177^~\317t\314\303'\253\345\326\333\263x\021\356\216G\006h\321tOc\336 \034\315X\2532]\262ttI\351I\362\235(\300}\355L\262QqHu\\Wz\316\360\364\0314\333\204\232\312\243\347Zs}s\n\244\013\nI\\\261k\336\251p\373\260*\206\203\366\222\347/\312\2774\336\256\014\327\371\231\373\317\220\177y\323\321\267\037\\\332w\022\223\221\326\r\266\n\312\327\236\021\331x\273\014\341\301\212\020RB\330\"\3212xV\nH\317\220\252I\205T\017 \301\331\025\260\331|b\344\335T!\357\351\326An\203\010\342\034\354^\024\267\343i\025\333\"+:\355\022\204m\204D\320z\274\371\301#\273)\342\314\211 y\243\037\312\364F\340\020\364<\321\221\032\r\326\342\261O\314a.'\241f\220\356\355\342\304\003/\220\215;\026\270\310\337\315\014\315LrN\330\357\333\302l\033\223\016\022VM\267BF\255\005\375=\226\021N\010\177\345Xj\202\326=h\026\376\214\220\337c\t\372\032fL\363\177\315!\3069\341\313;\240\220N\026Z\367(\250\273S\241\\\032\034s?\366k\275\262\024\306\0161\2522\260T+\371kt_j(\032\014\235\324\220\234\270\222\323\243\306F\023\000\341\255\230'\002\333\220\3608\310\013\023)/`\272\256.\232\225E\n[\022sZaI\262M\205]1/\330\033pX\305\246\361\370\231\370\327\271\"w\224\374\345\333G)\352\263YG\rp\226\270@\250\365\031$\003U\204L\334\355\256\230\036\035\211\366q\2628\316\274\222\277\013\314\325\352\277\255\232\326\250*\006qL5\322j\314a\301\365\220\327W\363\273\306|\222\255\276\017_\024\220<\253\350{p\314\371\3003\272\265\374\231\237\206G\035\"\003P\356\232\205^\303j\371q\224z\212\273\230k\266\310\206~\234!bo\\T\035\367\352yiT\373t""\023&\3240n\230\255\301\030p\277-\022x0\304I\245N\247\234i\212 \367ez\023[\341\025\367.\000y\237\317n\000\300x\313\343\273P[\272\327\301\240\257\246T\337\246\374^@\200\243X\033\355@\247\235 H\257\334\362\212cd\254c\241\ts-\304\344\201\244\353\357\254\316\236\233\251f\374$\343\236\033\024(\276\316\331\302\373*Hy\r,\302\251\331LS\017T\037!\270\205D\255'\315jDUg\220\303{\253\313\036d\252\376,\037\274\263\376\331\231\010 m\366\314\234\030#Gyt\202U\243\220O\273w+\014(\214 \252]Q\006\270\005\026\213X\017\226\246\\h\270\r\014\200\301\242\253\344\275 \315\006\350 \252g:\325\261\031\275\320\334\245\231\026\233\344<~Q\257\007\230\2438g\035\360\200W8\203\022J\376\014dE\004\240\010K[\\\257\217\321\"\224+\2620\203\201\322\206\217\356T\037*\250\241jrA\243qm\331\204\t\350\312\351\252$\034do\026\367\\\3406l\373\224\312\247t\016\360x\227I\3363EM\216\362\371z\256\221R\232\327\277A\322f\311\255j\254\214\203\006L\272\035\340\037\n\233\357;\350\226\333A\376\217\247\224\315pw318\007\251\000d\215\301\355\365\306y\003\242\303\214\"j\260\306\234\2677\360\345a\355\334\357\027\245\374~\211\357\312\177\325\310}\350\026-\235\200\264G\324\307\025\336|\353\204\tQ\341\333\n\022\354\343hp\267\n\214wR\020\237\271\\\212ew\216C\333\254S\021a\006\366\222\214\300J\004B\271\261\202!\002)\002\320\267T\342\316\245\204T\326]\211E\265a]\365{\316\221\360\247\270}\037<\n\374e\200\270\356\226?\324\243\344\021\242\365\002\250\373`\220\017B\367\300s\241\026\267\004\033\327\3411D/\346\347\333\000!\023*\311\rn\014\272\250\306Bq\204\t\314i\005f\n\357\215\270\020>\301_\014\236\221\227z\220>\371]\212\345\206\025\271\246\273\265\337\177\366\006&\001.\371\023\221\262\026\233\244\373\353197\023\035\231k8\227'\234\302\230\320\346\017d\324\213\261n\352\340\237\276\213\rE\340)\005O\326\342SfdZ\212\264\303\226\222\271\303\252\330n\374\316\227a\375m\266\215Fy\256[|{x\270a\n\321jr\252#\241a$\253e\215-xz\204=#Qt\335X\224\0218\315P#\257\310P\177tF\262Jhf\021\001\2175E\211w\3474\243\305A|\234\370B\031\232\340/\314\033\213\321""\356\323\364K\207\276\331/I\374\014G\023,\030m\355\023\0028\3022R4\214\237\302\2033&\t\275\254\201\346\261\203\032\240;\324\253;(\354\340{g\373L\234I\014\t\275\221v\256(\351/\317\322\207w\323\271\243\273O\2475\374$\002x\230\305\3250\013A\206a\365\337\257z\306\rZ\226\374\352qp\324\356\235\314\241\252$\003ii\222\343\261\376\266g\346|\273u<\227\206\274\306\n\323\2475\323\r\217\374\343\373\266\322\254\014jAU\327n\026v\002\341\324\355\354R\216\030\306=*\262\364\205q`&\303m?f\351\311\300\314?\024zu\347\334a\242\323\003vU5\357\370pU\002\346\025cJ\034\005v\303\005\250t\337\001$\347o\256\024|\334n\232\310\261\260h\357\"P \3231\303\262Z\006?n\031\031R\022\326p\005J\362\352I\222G\006u\037k\023\347\276\351f\177\261\204\217\377\rd\363q\252or\322j\177\371\246<&\240\273\324m\373\031+*\300\340\320\335\251\030\372\341\202\306\230\210\335B \001\353\311\223k\356q\377\201Ug@\265\226<\263t7d]UEu\365%\024&,nC\025usOr4\255t\203v\037u\305\014\021\271\304u\263|\007\332\365\004\033\325k\0247\230\235\357\324\300\324\240+y\321mr\nk\314\025\245w'\0037%\261g@$\351\240\255\373\014\"\311\002\235eH\266\2276j\226\024c\201\303\2141\337\234g\035\0243\306\304\275\266A\0361\206f\002&M\344\035\266\251M\344?\030A\270\375\361\375\220\370\251X\275\240\260\361\\}\257*X+\317m\315\355\231\206E/\\k\337\006\021\177\023\206\323\247;\306\246(k\033\t^\216\263\266\272\222\330\036Sq#\255F\375\244I\370\266\276\311\004.$>Z\265\255\237\315k|\023\201\327\204\271\370\031\036\2545@\350\226w?O\201\002\371y\022\310\300A\236\371G1nk\226j\021\022l\304\203 \t\032C\233F\035k\022\340\001\320G\2778\2507\372kn\374\234\007\225\244\343X\266\214\014\306(\307@\003\246]s\207\014-@\023\220\304d\205\312\020\370\370\256\353\177\320\004\347\272\262\205'x\362s\022\265\000\035'$\377\375\210I\271\241\275m\002\234\241\333\357'aO\357\371\370E\255\360\n\366\225\230j?*\330\264\010\316\364\013\006\277F\305\261\2651\274\205\314\016\215\276\202\217V\316\243\213\244\313\0222\24192\265 \377\200{Z\367~\331\241\317%\377b\003V\300O\016\224\201:5HO\025N""\327\252~\232\375\362\272\300\2260)\262\371\262\016G\350$\223'\206\330\252\264`M&\215'H\034e\036\223v!cp\031\004C9\327\246\027\245\255\242)]\204\202X\n\240\331\211d\371\262\001\262\013\014{\334\300AW\275\223\230\212vf6\224\237D$:\377M:\212\2318\005\212\rJ\267:\313F\2371\317\013M\234\207\321!g\2570ePU\177\351\376\356i\272N\222\206H\215\347\307\211_$\023\223T*\300\3614\241~]\204\030\377@\344 \237\354X\255\375\271\207Xm\355\356\\\035z\"\275\000\233$\310\035oB\203dy*\363\t\370b=\327sr\241\312\302\\)\347\351 \243GL\376\233g\257F1\014\342\242\017\214\235-<6x7\360\321\027\024[N\352\343\223\217\211\360\277q38\220w\216^\017\201&n\241+D\277w#\240\036M8\360\330L\320\267\260\373\341\"\371J\230\260\307M\340\376]\312q~\t\370\373\212\230\204\241\240,6\247\307U%\303\030r~\321w\002\241G\343DR\235\235{?\212\036\345.\002n$\324\014\177\020OE:SrL\024\242\3619G\"\2151L\343\221\267\241P\016\226\316\342\3604\243\324n\265\031\373f\314\340\302\005cz\023g\360\"hc\331\365\035\344\036\244]J\323y\240\313U\326\211\277\374i}E\225gl\352\227\004\0063~\202z\"\261\037\215\332T@\323\205\027\367P\0349\211\225\003.\340=\304\332\3248v\216\377I\177\332>\326=\244\001\245\3440\235\031H\221\016\215\220\201\231/g\0253\032\213\321\347P\204\252H\021\373a\234\022\234\212\341\207\213:\202{]\262\253z\014\223\220,\247;Pq\250\303Y\257\311\213\375V#\273!\335\327\005\212\350\330\306o\030CM\216?\345\036N\034Hz\026\031\026\007\316TTn\373\340\375\314\233sW\374\223\324\344@\017[\227\213\3247\220X\330\236Z?D\266\361\267dL\257Gkp^\005\332\220w\225\336K\207\3113\200\205I\342K\371\365\317\234G\035\370*\342\314m\033 \202E\312\\\365=6L\221\304\276\275M\342\361\207\030\272\200Q\320\213Ao\250\214\t\232\366,0D\021P\267\233\033\003\360\344\013\312\333&\372h{\3357\214bF\224\203\376\367\375Rd\014\315\360O6\333\036HSV\274Pa\321\254\3232+\210\250\377/b%H\244\177\020\231|\305\273\026\014K*hh\354\336\363y!\276\014p\311\356'N\033\334\213@\357\013\320\215\0027b*\251\030\377i\037\321\313\252\310Q \340#6\300|\202\354\233\213\200\242G,\345""\370%_\026\326\321zj\273)\2511\2728F\353\016F%\n\300Xu-\313\215\214\345\325\026\225\010f\203\205\244L\001\3745Q\217\3267\333\250#\033>Y-\256\336\0074\223\370-'\253\376`\3215o0A@\024\332,\230o\217\363\261[\327\231T\000\255\216?\riJ\230\376\203\225v\002\205\221\315\242\322\2616\324\200MAC<\014\360^Xe\027\337\205\332\332\314zs\241v\325\236Os<\302|\314|\312\200Hh]\236K`w\364\037\212\242\325\026q\345Sh\037\002\267\022\216\337>\324\263{va\251\205\365B\315\005-\023\177\025\237\226[\276\233&R\224\270`\220`*\023\357~\003Uh\350\276\3074)\215\357\277ZoK|H\335\221\351\213?\345\222O\332\200>@\203\302\270:\353\200\242\365\000\226O\341\226\335\316T\206\337\322G\330\301`\037q\345\010\014\230\206`\024\331\352\337\347\235\320q\310\210wy l\033\240\233\"\200D\313\277\r\225\016f\034\004-\342aw\302\004\216x\255\271\003\252t\226\262\261\217\252!\002\035\006\273&\350\222\222~\206\330\325\274D\013\347\331\235\277\340\024\216\177\211f\361\002P\2147B\224~\237\210\362A\017q\202K\227;\030\375)\013\261\347\344.\307\013\247\254\021\302L\236\323\362\302*\001\204\300\242R\203\021\003\323a\220\372=\025\330q\242tOZ \237\377\205k\261Kv\302A\237I^\224\227\206x\2046\203\302\002\203\331K\304]\245\037%\345R\335\324\274\205l\345i\200\310\346\304\244\265\014\331_\005\350O\213\216\214U\001\232\374\250\221\031\364e\251\364\264\264\212\252\357\203\005\272\263\2523\213\241_\3319\244\005|\234Z\243\360\305\260g\373\0102\253f\236\3107\326\\\t+#l\310\277J\2054\323\317\231\241N7\203m\372\264\343\336\314\003\350Y9\364[s\0278\200\205 \236\323\242\013\364*\024\221\204y\377 4@a\205!26\177\373\341:\262K'\372:\212x\177\342\326d\357\022\031\221l\372\246\376\020\2565cg\371\222\323Z\014\305\237\177\347[f'}fQ\320\2547\276i\307\355\233\240\330SP\241\326\266cU/\310\227Gy\001\343\323\t\003\261_\250]2f\204\021<)\316CDQO\207$9\234\232\271\360\035\230K\267j]\004\004x\260\007\370\232\313\n\2224(\317\237\273\236PA\301\321Q>\353\007\225\0033Z\256L\337q\032\026w\004\257h\342\213s!\222hx\tl\215idQ\220\232\206\013zyK\007R\334\231-\356""\233\342\241\306==LJ\236\002\232C\337\365\257\337\023@:\rd\007\243^QOU\204OQNvW@x\020\252\323\375\0304F{\270\332\223\203E\350`.\204~\304\006.\257X\215j\336\035V\026jF\010\272\242E\375-1\343\272[\313\252\260l%D\311\037\035\315 l\263\351_u\300\035\030\227\367M\226\204\200h^\030o\3560\307\247\037\345\002d\217Sz\222 \\\n\344\367\206\202\341\300\364\260\272\354/\265\264P\211\215h\315\203\024\373(#\024\215\2671\353I\255\237p`v\004do\n\226\2043z\327\200<$0\356%\375\223\245\"g%\0261v\210\211\251sV\252xB\375\027\247\314\370\035\";{W7xf=\2309rN}\233\021\314\266\262\261\341\220\243}\242\016\374!\247\332-e/\272\021u\302?J\027d\232\312$\207\206\347\340#Q\255wE\345\253\004\251\177\331\007Wa\334'\202x3\340\017\272\022g\277\017'\0106\221\311ttu\360\202\322\3023Z\371\235VB\300\271\376\376i\263qZ\323\377\017\352\022\332\027\036\355\267=X\n\311Z\316w;\227\377\n\014d\260\352]\001{\"\245PG\355j\215\361\275\262\221cX\207X\000\255j{\213\207K\033\034\356Q\254~O\351\351%rf\310\241\216~~\363x_\331_\274\273s\375G\323\007\324\014\340\275.\222\363Lx\221\276\321\302\230Q\221K\235\307[\311\023\205\344$C\367\336\266\004-/\242\333?\276\310\222\236<\002~\365LH\302\255\032\363\317\242\266\214\333\010g\341\033\245t\353\351xM6\246\n\013`F\206\232\225\002\215\3217\345\004\302\000\354\027\336\320(\346\023c\307G75\351Z\275\324\203\022';\346\346\014\231\353#\260\030\017fP\207\336\205T\352\262\366\2314\304\005:\357{\003\035\310\241\304\365\003\321\344_\033\342\017\004\037I\305\033\261\3669\233\005\310\244\314\364\t\367gq\313l\343\255\375i\204\034\252I\005^f\341c\031c\366(.\022\324\005\312\216\311P\224G\035\022\3104\260\253\337\307\335'zQn\010<\327\211'\0229\253O\375>\336n\000\2609'<l\177w[\350f%\221)\223Xa\234\2016_\302\311\314\261\261\362\n\340\264\334\036\0323 \334\376?\035\037K\005\261\\\207jJ\177\334w\334\377\2107\301\377\243\356\342%\217\201B\253Cz\375D\223\322\275\234\374\303\267\221\266\202\274\n\365\335\304\3615\006\000\244\225\274\321\320\236u]\004;\304\337x\302\300\362`\373\366\302\266\277\245m""\265\214\357\207<\316X\001\225\312\010\361\230w\362(\037\341\207\376\250\t\200\3173\257\031i \355\353U\233js\224\214\013<\220\373Xk\327\307\004\257/T\260'(\273\007\000\235w i-Ort)Wr+Y\3401\261\337X\031\262\346j\235O\213\203\336\251\355\325 \235w\377\322\020r\360%-\235\207\306\364[/X\313\303\363\221z:A(\317\033\316\267m\312\253o\217\3062\214\"n\265\2027\312e\2624p\025-\221K\017\\\030O\2452!y\376\320\250E*~\245\353\351\341\340\236R\2014M\353\243\245q\224;\007\256f\307Y\265\236KK\215\263\272\241\020gT\214{\370\310d_\001\300\020,\200\263\357D_\334h\272\030\330\212\246S\226\360C\210\021\255\301qI_ \252\306\203P\231L\247B\240\2437\303\037\231\250\333.N \365`\310\354\301\211\373\002y\240\350eP\337\356F\312\212\001\375+;\201Y\305x\025\335(~\337\224\302\210\031\246\036{'eRs\243\350\002\002t\250\t\271&d\234\204\342\240\210!\375\265\360\021\373c\3460h\265b\311\273jH\332[\307m\002\304Z|\237`\035-\322\304S\211\027\205\333\226\252n\353X>\247\274\351\032\321+\216Z`\376\\\032\302\364sqHp\270\253\034u\032\nz%C\033*\034\271\027a%ftTN',c\376=Zui\361zyL\277\332\350G\342\267\r\2471\271\374\315D3\215\205\022Qj\025\211\217\216\250\343\t5\337ICKW2R\010\202\337\nu\341x\206\263'\275>\230\274\033S\373\374\t#,\350\217\000y\265H'\037\371\017\344p\2579\333\262\245\005\txj\352Q\254\2023Ht\310F\244\217<L\004\017b\311\273L\365XB\303\236O,\245\245R<\034\371U\245\256\034\333\202\030TH\277O\337\327\267XJrjCK\260\221\233J\243y\036\364\323;\375*\024\3321{\213`\202[\244\227\003!X:C\034w\2622\254\177\230\232\252V=\016b\177\320_\235\370\356\256\027\217[\004GA\022\254\262\010\333\265\310~\323T\253\343\363\021N\251\366\231\213FS&\301\177\303\255_A\001f\310z\227A\361/\206\205\033\231\r\256_\0232\023\277\367e\201\017R\347kK\341<6\006e+\274\356)\341\254(\326\000\021\353&=\333\274T\305\037\306\223\271\356\033\333\337\352\037\361J0dqP\210'\0243\350a\346\233\340\"{bXL\244\022mm\254\3614t\302\256D]\277\221\310\024\014\031\326\206\374\237a\212\346\353\013z%\327\351\r";
    PyObject *data = __Pyx_DecompressString(cstring, 19441, 3);
    if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
    const char* const bytes = __Pyx_PyBytes_AsString(data);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
    #endif
    #elif (CYTHON_COMPRESS_STRINGS) == 2 /* compression: bz2 (17934 bytes) */
const char* const cstring = "BZh91AY&SY\354\036\354A\000\022\362\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300@@@@@@@@@@@@\000@\000`R\177r\213\337l\004\366\001\220\027\211\210\000{\357\235\024\224\371\200\000\000\370_W\2748\007\320=\363\317\275\363\267\275\207\243@Qk\357\207\217\273\035\267\220>\265j\372\017\271\3074\264\246\336\270(\024\371\361\272zj\224F\215\037f\356\335\275\263`[t=\r\035i@v\320\333l\032RCL\244RI\033\r(P\211H\r4\035\233\353\343\206\251\024\235\236\227`U\366_7\275\2625\"B\250\240\017fI\217\036\360\000\000m6\304\252\225\000\005\000\002\200\000\270\000\335\367\000\236\000<T\240\020\202P\210\020\000\000\0011\000\214L\230I\2324\000\000h1&\203)\262Le3D\310F\230\231\246\240\032\236A4\"H\215\n<FD\323jm 4\320\304\364\2156\220hyOH\304\036\241\261\203\032\002T=\245=A\240\323\010\003S\302\021DJ\237\252yG\250\321\220\375M\241\251\007\244\315\0235\000\321\246\311=CF\203\321\352\207\212\036A1\r\204\200\321\240\323\324\366\224\004\232H\223H\021\240I\206\2464G\242\223\332\247\265\021\351\251\344G\352\217(\332F \001\246\207\250\014\232\006\200\007\244\000\323C@\212I\221\024\375M$\365\017S\324\032=A\357J\237\252\177\251O\320C$\321\351\032\036\240\332\206\236\247\244\r4\000\000\r\032zM4\000\321\240\004\210\202\0024\010\t\220\206\023@\214 \031\004\323&hI\246\236\200\232\0314d\000\0002\006\200\320a\016\346\233o\327\217\215\222\272\244\025\370]&\314\253$p\360\034\246\333\227\r\302\2152W\220\202-[`\260,\223\362\334\035'\203\026\265\224\200$\023\245h\370\274\317(\017\216ZZ\363H^\262\004\220\210Z\371\244k\335\361{\253\335_\370\375\347\357\027\0350\030\"\200\004\241*$TG\364\205\346\034^lR\326\244Mm?\323\232B\207\212\3645\275pP<\346#\275\030\256\345\0339\0226\320\305\2028\222\241B\217\013\032\273\240\304\323\010\034oTc\304\203@m\004(9\242r\n\266\321v\025(\302\017|\346le\344A\244\242\214\006L\332\216\252\225\230r\321J\205\005\202V\014\214p\025\320]+\242\345\316\316\311\307\357~\362\"\214`#\017\030\004;\226v\2016\023\266\023\264mmm-\261J\312\353\355\305\230\340\n4\n\026\026wA""\377(8\005\014\020\260X%\202\313\013hb(\021\202X\006\001\202\312\304d!n\3346\321\031\005\001d\"\250\214\024D\025U@X\214Q\004\202\202\311\024\202\250\305Q\005\010\212\305\220H\242\210\021AE\204\"\305TdY \304$Y\000P\024P\021X\nH\242\221HE\222(E\005\005\030\204RDA\030\260\202\300QETDb\301A@UU\222(\252Db\252\"\250\261\021EX\366S\300\210\034\271K4\263Y\231\254V\272\356BY\203\020\306\010m\006H\316!38 :z;\220\226\340\334\215\306\343^\026H\337\276\022[\000y\377+?\321\205\277\235\327\376'\366\357p,_\215\237\366\364 \3547\367\203\310\275y\264:\207\216\007;i*\335B\352].\203\206\337\311\361\373!\362\365\021\204\210\"\302\000\240(\013 \263\240\035y\353\360\374g\007\033\370\276);\217\225\200\202\021X\251\005\t\026)\001\031\021$\212\022(A`\242\302,X1\212, \261dP\005Y #\024\202\301H\214\000QdUX,\021\"\221F+ (N\3421\202ZA\262\261\221`\250\2020Z!\005+m\"1\371\017$R,\353$<\020$\016\302O\010v\236\036\007\201\362u\234\310\001\311>\357\211\336 \221\020b\211\344Jy\001a\020A\360\030\010l0 \020\233A\202Z\352k\251\255\214\0011\010\340\215\0030\335\366\n\244\265I-C]u\240m\313\0031\031\240\324\344\237@'t\030\262O\266\312E`\210\306(\"\333!H\326\005\030E\202\242\r\265b\221\202\203\026w\366N\363D\362\035\222C\316\220X(,X\244R\020QAAA\004TE\024\221\211\021U\004W\266\nEU\001b*\250\200\243\330w\"\235\314\n\235\2476\205E\026)\004\021A\006z-\222Db ,U\200,\230\310V\001\367\210t\364\242\235}=\376\025\363\271\346|\3735I\256\213~\367\256\342~8\023[E&\210\216@f\2225H\014\204\031\244\273t\007\220;\224\254\333\276\na\322a*\020c\250GC\303\222\232:\212\304\010\342\026\344\263F+\234.\320\326&\322\262D\215\332\334@\323m\354;\255a\266Q\246\221\253\004\034\225%&\255\003X\335PH\3015\244\267\025\232\322f\323<\327\003\201\267\014M\3507\275\224/\2652\230\330l\006\206\301\277e\277n\006\006[l\200$\334\3335i\215Bb\032ltB\213\006-E\225\3634b9l\360\236\022xI\341\341;\371\350\234y\273\244\364\242\254P\005\213\003\336\276\0011QdQH\243\366\274\363\254<\235\231K\207\215\230`\n\310,\251)V\220\3304H\331\013a\033#\222\\\027,\014X""a\202\303\355\365\354\207\300l\016-.=G\r\006\270\301\032\304\014m\003P\330\332\216&\341nA\270\016+\207\017\233\003\n\310m\275\006\361%\277\236\355\351\215d\332\372\303R2af\006\310\330[\013pt\355\275\367\0024\345\235F\364\2108L}\262\2211Ba\222\333&Bc\272U\"\014V\364\267\206\364\215\342\337k\272S\237\317\330\221\300Cbm/\237\246\004=\207\311\214\331\223'\000cj\215\313\230|8#\200o7\234\025\214q7\035f\360\355\266\306\346\260\351\303%4\251J\020\276\355n\351\321\326x\007\004p\356\3047\001\314\327\001\274CA\311:\350\240\254\304\316\021\003a<\303CC\235\r\004e\206\005\024g\023,p\366t\230\206E!\017$o\014\227:\336\305s\3524Id\256\300\3423\0174E!\213\244lj-U\212S\024\271\030=\325Al\341R\265\224\342\n8\335\206\356t\253\337\343\326j\216z\365<\004\3339<V\357\275\320\330\333\237\016f\025\236\033\300<\373\2720\350\360m\371\340#\267q\236\345\257\234H?\243\344\371?\031\252\206]SS\253\225M\314\031vI3,\205\"\3142#\221\304\211seN]\177\345v\361\265J\177\323\331\365\343\335\2376\232\337mp\237>\267\032\235\377\006W\333\267\340l\003|k\217w\366\216/\267\327?\226D\311l\365\231-\251@\235\036\225.\214\356\223\247OX\360\213-\227\312\341\312\037\365\024\227d\267*\2758\277\273$\337\321\202j\301:\247]\247{\347E\032\212\241\024\351l\177Z\340\327i\265\373\261MqR\331:\302\330h\246\024\355e\302\354\227\362\253w\332\235\365\226\034\267\335\252\276\001\211\206t\377w\020\354\376|\353\346\357i\251\237*A\353Y\276\037\326L\226\311N|\221\017Y\237\332r\022\322\2016\235\n\277\342\332\177{?m\356\274\375\nZ\327\356\310\251\202f\243\214\357\272y\023\347\252V\205-G\024\226\363\312\363\205\303\216[\254\223\335^S\211\232u\350\224\030\033\224\262J\250\342\034\221a\265b\327\324\260jN\322\366FC\013*\251M\360\203\212\253P\237V\205\252\201\342\307\263?\3119\024\270xS\252s\361\343_\254\372\2646\323\206\265\343=\276S\226\\\360\301\365\017(%\373\331\363#\206m\312#\246\244mR\373\302\273\306\240\263\360T\244\315=\317\301\025\352\362\243@\322\217\373\324\202\244\261\253\264z\234\313\226f\377\2313\334\321\254\305'Q{\336\370\265""\034\257\301\221\363\210\377\333\244v,\024\260:\364\202\327\367=d_\313\307\\k\261\30233\321\364\343B\225\245\257Z\217\303\r}\021Q\223S<\272\246\265oH\277^\264\253\360u\236\330\354\307I\364k\331\317\244C/H\226\023\345\363\253?\217}7\305E\353\251\322:c<^\241\t\275w\332s\002bN\347\244Hppu\373\035G2\366 \201{\354\247\355\376D\200$@r?+:\272\004O\350S\371\234\305{2B\r\302Z\202\337\270\336\265\334\353\010\010\271z+\336+h\262\222-#\222\"[\227\0211\005\003p\022\t\204\351F\213\002)@UD\365\252\201jFd\202\235\004\352\022Rh\204aH\351\026\203\222x\3562\260 +d\247\252,\021\306\350O>L_\343S\014\023\205\303xh,\300Cp r\303\251\003\277\354\"\205\n\005,W\013b\212\240w\306Lv\233\025\313!a-%\244\271r\356\317Q|_\277\351\201\351X\271z\362%\373\322\344S1\250\267\241\374\177\346\025\323\335\360d\212\207\0016L\206@8y1\037(\271\263\014\277-\314\344L\340\3163\216U\336L-\321\302 \243SD\246\0059\2724\222\232\345\250Tr\254&\207\260\315r\032\342\025\302\270W\3214mDC\036\250\275?\022Z\003\245\333\200\266\271\372J\214v\371C<U\024X7\234\017]u\372q\"b\022\346\013\3300W9 \205\303J\344\276\026\202\371~\3719%\272/Mt2\313C5\222\352\026\206G\213Y\t\200L\333\256U\312\325V\272\017\3658\3265l\210YD\262\023\222q/5\017\327\260T\251\305\271\\\344TA\375\225eG\310\347\033J$\344'\"\030\311\365m\330\026\313\354\271[\032++\"_\262%\224,\342 \035_\372\255\036\270\2755S\202\303\276g\304\370{k\332a\235\021$\201\253\307\346\330\301\037\376~\322\314\020\363<\023\235N\313\261\352\314`v\206\366\326\177\202\016{\231\2779]\244}\253\277\351\273/\2372\343\260/\363\024\331H'\355\252\341\202l\253\235\373C\230i\356\366\316\227\264\371\032x\262\302\200Wc\323\364\275\322\275\023\277\302\251\354Yp\241:\204\222\003\372b\317\335\3359\235\304Swu\035\270n\233K\n@\303\240>\033\251\266\033\273\270rz\276\334\327\373Em\007g\\\202\346\034\370\242$\372\266#\303)\352.\222\2612'\220\312\243\311B|\337\312l\251\222\345iz \225\241\271%j5kP\2418\366O\250;\300r6\351\035IS\350\320\251\007[\352\331\243*\"\224uv6 \254\3506%\276HU]f\223\274\025\035`\241""\0040q\250\304\312%\202\022d6j\333\253\365%\255s\\\327\324\324\345w\327\314\257\ry\027[[X\326h*\035&QT:\312*r\236\217\323[j\347\265{C\020:7!\324\\<\346\221\2609\007cF\203\310\371K\206\001\225\035\024\241\300\304\353\211p\255\270n\013kpTx\266\357\337!\272[.\242]\232\311N\325!:\306\343\353.V\022\253\326\007\033q\007K\216\360\345\010$\r9\326\273\326lWkV\272\260.}\244\260\026d\265e2\333\246\325o\277\233\274\321osvy\362\310\toYK\245\177\363\026\372\257\3116Z\227\202\360\037\032\245\317\305\327\213\352\355\026\307x\274^\363\313\275\341\005H\230\031\023\325\327\277\204+\246\367\271R\343\217\350\230o\357\246\275\204\374\255i+\377\215\310\010X}\263KM\350\350$\221\327t\357]*\3639+\324>\275\226\336W\337\325\336\321\334\177:F\207\257\034\234\361N\244\035\325{<\306\216\335\023\316\254F\3679\225\205\367\217#u\237a\222\261U\355bu\307\247\0316y\272P\351\253 \311X\tj\254\025U\216R\202\314\247\351\345\214a\321\n\375\373\n\217\361wa\202\252\301\020x\020\253\020\"\222C\373_\213\360k\307u\202\307\204(\324\351L1Q\212\235\237{\357\037\306\372\376\337\242\237\240\375\375\177\\\371\375K\237\014\037/\000X\332\257\223&\\\210\345\026%[\021\306\344\257]\261\210E\306\344\231d\237\371\3533\0258~\357$\234\337\000:\343>\013\316\2510<\355m)s\203y\236\007\346a\320\351\220_\355\325\226\213\024\252f\251Z\254C\205\337T\352\257\257\251\260\347\224\250\211\320\275\244\314&\263\272\013\330y\276\366\006V\211\327\022\221\363\262\001lQ\250Z!\305\322\317\354>\317cC\255\237\215\223\202\271\311\234<D\333jq\342\r\202\241E\362\341l0\3458W\010\2410\331\204\022D\2416'\026\241mRf\270\032\304L\031C,\341\243E\0236$\202\316\216\222 (\324K\014h\024\2656\206\256\243\262!\311OP\032\331\332x\356\301\004\345\344\000\313A\032@\221\001%\025\001\212\006(\2339\216\r\274)\266\267HK[\241\371\036\337\207\366\337\342\376X\013\3123\337\247\324k\250\356k]u6\227\177\267\222\347m\327\314\267L\244\031\274\026B\341n\225\224\355\230yz\032\r\303p\013i %\261-\240[K}\333kcB\311]nf\314\357]\244\264\220\375\026\261jV?\245tDB\272\"WD\256%s\227""\212\225\354\224\222\222K%\241,\303\310i_\242\221\000\221\000D\205\004\n\tf\374\372W\357\\\266\333<\253\365\212\261j\347y\352\211\312\032\262\025\204\n\310\225\204\254&\201q*\224\350\022I$\222O'\227\347\306\004h\201\032$bFJ\313d\3132\274\366\372\r\025\247\206\227\217'\016?\370\254\\\324!\260\210XB\302\026,\032x\016\036\321_.v\372\332\305\211\254\025\022\220r\251\224\320)\241L)\207d\317\321\307\217:yN\032\226,lU0\245\037F?\034\235qdT=\336\016\261\311\347\335\216/_i{\22318\300\205\0200\027\365\272\024\330]\034\rb,v\251W\307P<\014|\245\227\225\237\276\244X\233q_\n\370U\034=Sh\364\276W\201\376\003\274/wt5\352Z\217\312v\272\265\253e\017\273#fH\266\350w^\371}\002\300\026\004/\247\253\235wG{\013b\346\032x\261\246\277w\n'\240\371\\:\362\003\375F\256\257\251DG%\220\262\026D\263k\243\324\251n\326\215\213\034\316e\244\234\022\353\001\342QT9\334\261\316@&\253\224K\010\251e\022\251\"\025B\250R\336\247O\023\235\205Z\221\203\252\235\355\036\\)\240\"-\355\212\210\347\302w\207T\250%J\206\206\345\325\321\271SF}d\360\250|\325\031\013\251\351u\022\210\224J3g\336'\222\347LL\260hU)\247;\302\227\377\307\232\357_\350\376~\265\376\3219\035\373\207\257\362\026O\324S\365\214l\274\330O\337\322\353@\222\367\342\375\341\363r\241\177\262\005\\:y\263;\245m\266\033\376`{\240\322B$\020(\010i\200\314Z\306\260\272\354\221vc\211\256R\263\0139\332\226\26531LC]\332\316\022k)\r\246\335$\326\370\301I\245\031\233\241\266\0256\206\014\315Y\261v\323\023hM\240s\252\033f\206\030a\303\255\032\2141\241\262\005\020\001\254xv\\\262\022T\324\204'\272\226e\\2\202UW\332\263\020\254;Y\301\252\343,m \t\030Av\242@\245\346\327\212\221dU\254\030CJ\215[\367\177\362\273\274\313\232\366u\010\352\266\305w\031\016\001\271\245j\0050\250\025\020\251\277z\346\265{WyIf\r\0148N\374\252\206\235\177\267\3708\365\365\374\2102\376\355j\204\342\360\225\2071\016G\253\027#\324\021r\005\004\352\343H\306\317\251S\2147\251;\2278\265\3315>K\326\206v\303\210dX2\306\"\355h2D\300-j\277)\360_]\257\272\025v\253#\311\354\201g\311\371\017U\353h/4""\002\001\236k'wZ\315=.\306#\020\277\242\370\024r\326\232\247R9\257\255q\255\264o\260#\331\221TH\355XO\220\373\231\237\035\241\251\017dd\202\010\241\026Ad\000c\033@2\n\212\306\271\334\314?\237\332u\203\276\036\037\326\334\360\016\254\264\333L&\3712SI\002\353\242k\242k\210k\235\377\253\333Uu\215h\343\202\331\255\264\251\231k~J\344q\233\010\321&z*Y\267T\264\262\222\305\247bh\235.\"a\253\206\330\211U\020\252\205\261\016i\315Cw\267\267\325\277\353\323\363`\232$\322i\026\035\363t$1\354%\267\246\035\223\243\032\260\321\"\n~\035\355\237)\"=\232N\257\372\3140J&&\204\324\377)\316|\254\376\tZ\032U\005sh \375\375F\325Y#\333\201w'\027er#\352>G\322+)y\237B\3636\372\314\205~\237\370\351\344\330oq\365;\234-\002\014\024\337X*K\247\260\232 h\241\242&\300k\351\246\267\326N\362oJ\345\344CTT6\360\336\251\317\306\305\215\313\326\255\3352(\342/\215D\302Jz\030\035\3213,\017J\n\217\2322\271\201\343\232\034\002\002\025\3000\006\0010\006\366\034\036\353\344W\365\213\027,\204\362\252@k\374\214\225jC\255e\223\303\277\271\353\205\217\016\371\310l\304\337\007\370\230M\274 \206\211\262!\266\357\001\234\350]@\272\tY\020\272\205\321.\335:U>N\345\353\325\323\311\236\010](\322\201\326\251\242S)\2052\225#\331\366\035\010\247\035<!\376\355\363\373\031ko\346\024<\"\234\026\020^~\2101=\342\212i;\344\006N\2126\375!\213\332\270\r3\025i\212b\230\350\007\262\n.\243\2064\215\325\310\210^L\210d4\362\345\311\326\352E\301(\tB\016II$\2072T\221\204y\367\350\332kn\204\010Ri4\240\223\202w\257\355]X\310\365LT7\231T\027E-Q\200~z\030y\316\010\364\0228\204\255\004\n\345Ed\311\206\027x\035\210\332\203\242d\312\020\355\336\n\342\027\202\357\323s\264\337b\345m\251\020\223\026\0329\024\262*^\264\032\251\200\277\321\0053c]\353I@\n\010eK<\036\336\205I\273\237\037%\310i\360i@2\256O\244\211\037\020\241\325\021\363\"\341d\2541}\301P\332\255\235\231\316\361\005\314\334\246?f\211\\6f\2214\244hZ\350].\3356\014\357\327C\330\263\242\276r\303l\272\202\332.\270\034\346\030\006ED\250g\246\307?\211\360\214\232F\311gI\020;lD\345e-s\022""\332\0052\325\242\321*\305\235\355\352Q\274\265X\263\345C)\240\364\247Y\005\003c>\016\236\025\037\336\205r\307\272<\375rz)=\347\247<q\322fY\373\177\325\231\316\367\216\374\014^s\267\255{\335}\352\013*H\312L\207\274\315\223\230.\023]\206\0176\204:\227\233\214v\376H\250\371yx\340\243\206>\345k\350\316%\237\301}RH\363/\203\332\361\363w\245\273SN2])\035\343 \220-BQC\222\r\341\220v\332\347(\250\251\273\023_\003\240\323\274\276`T\367\206\252\3539Wzt\310qm\250\025=kU\222\206\034\005\212\275\324\241\037@ WX\240\344\345\215\321\245D0R&\342\222\251\030\250N)Wh\262\006F\362\341L6\365\217t\366\204\202\302\267*\005\254G\013\032\225\226T\254U\024\016\204\243\346\376\206\206x\274\277\026\222\025\320\234C\200\"H\034%1\rDT\224\260\335\t\002\356\223\260^\201\312\333\014aLf\2047\013(ZKBYKe\273v\177\226\267{\366vVKvW\256{\n\3309\300\304\005\360\332Nk\341\3049\3065\025\261\211\300\250(\3173\357dv\034\347\344q\234\2430\231\001@\024\212E\0261\005\030\240\212\217\337\014\373\033\347\205\375\035f-\264\252X339\\\177/3\025\"\362\365\274/K\357\275\275\321\023\262tbOh\350\263^\226#\nw\300\026\002;\342\264h6\024\r1^\350G\\\353X\013\226\030\273\307\217\321\313\222\023\036Ds\260D\"H\354\362^\373\262\347K\215'\305\304T\256g\002g\010g g\t\234\211\214 v\314\\\335\315\235\274\377\t\nk\364\312\010:\242ZE\3754\031\010\003J\345\314\250\032\356\323\270\205\342\347\010$1\337\362\273\377\032x<\273\034\363\004\031\340y]\031\352u\330zl\251\230\370\315\275\215t\356P\306\030\303I1\312\275\230LF(]\001\313\261\237Wc\232\212\346\246h\023\020\234\204\343`4a\204\200\3212\353K\022\2062p\205*\025\253[s\032kp\212\025-\312\245@\004x\361\005\305.\241r9\364\356\357\351\3731\357z\246Fx\257\245p\344(~\244\326\311l\2666\36168~S\312m\277\317E\303\234.\1774\301V0m&\033\022\317y\303\0261\323\246\224\312aM\304\337\224\237\254\301\354& \253\205f$d\262Y.\266J\337\"\234\273f\237c\273\266x\250A\325\354i;\256\236\245\372\273M\334k\222\207\221sL*\273\013\370)2\010%u\377;\371\014\010\2300\03050\350e\224v/\232{\370\261\274\245y\206\247""\277\3444\245\277\356k\335l\000\\\323\365p8\207/\275V\032?\246\237s>)\225M\035\\\271S(eL\271L\243\035\177\233\303{k\253\237X\373\205N\346W\t\334-\326\177_\244\362\332\333t1.\031\022_U\2352\350\016\267l\267l\262[^Q\250g\21184\366\330E&\243*~S%\222\222Y\2054\340\350I\322}\345K\"xv\033\235\336\335\302\304\020/e6\336\013\270\302\342}\265#\352\241\363\375\337\234\376\326$j\036\333\276\204\332\016C\233\267\325\023\211\2603}o0\366\260\301A\"\221dL\304\2173\315Y\303\322bq\n\221\033\254\361\021\t'\224G\204\266\360O\013\031\330\374E\255\273\347\354\322\202\\:\355\252\320\320,^y\032t\"J\357q\365<0\024\324\270\241B\257{@d\256\303\004\n\027\027\310\372\226\242v\274V\tp\003\327\237l{\2079\276m\2711o/mf3\222cX\231\336T\327\367-\217\033\371>mK\032\237\337\326\364\362\353\026\252\254\336\032\326+\314\346B\2018\217E\273\267@}\335%K\350Y\3710-\263wF\036\326\252\033\252~\327L\216\0140W\340D/\336\3755:\325r\376C\371\363\235\373Wi\301\271\334\313\0222\340!;\266\316\305\364\233om\234\261\215\013w\221\315\234\t\260\240B\271\0333_\277\026\252m\235\n\234q\3173\223\270:\274\350\265\254\306\235O7o\031#\334\234.\033\354\300\262\036\201\265\300\217\274\333\277\243\257F3[1\272;jE\330=\263\334L\t!\304\t{\007\000\323\016\026\205{\313\276<\347\262\030;&\364\215\244\304F\tw\200Cl\024rO'\002\366wg=\322\033fk\273\273\275\260\322\370\276\366\344\325\214\033\3306\023\205\016\021\336\305\222b\"\0033\233mQ\223s\025\234\001$8\017\272\020B\024\256\340 G\2326c\213\335o\231\224\262\231\320\336\0015\224\222\235J\341)\"RH%\245\256\272b\037\307\"k\2471\340\235\214\036\260\275)h2\241\005NP\261\334T['@,\333\314L\307\030l\271\\\013\304\321\346\251\215\0104\276\2223\205Q\014\336g\001\017RB4\307\356\307J\346h\316\351\332u\367\234\036\016LJ\341\303\256\324\241\211\3329\345\266\322\217\222\342\300G-\364\276\213\311\2415\335\301\206\373e\354\0378tTG\\\367\034\300\350\206\216:\271\305[m\265+)y\350\006\200\270x\341\344\352S\007\020\255\207\010F\353\275\336\356\036\3668\r\261X\336fe\215\323\207q\232\252\215\330\023,\314""\t\t.FOxX\340FP\031\315\02563\335\\!`\362K\035\014XR\2721\264\362Q\265\314F\021$b\336+B\215\217\2207l\023\311\014\020C`\031\267\000\326z!\024F\022\221\265pe\004\362iiL\014\312\306\036\333Z\212\303\306\366w\320\253\274\352\301\337s\302\323k\036\033n\036\302\212\321\007\031\027$\252\313q\214\305j\313\"\353l/\017\207\007\325&\030\341\303\031\303\201\270\260\333\327p\316\256\2742\036\007\242\253\2768\343\000\350\210$(\214\340l\274\206\335\220OM\344E\343\243\210\214q\025\311\023;\344\362y\274\266\221\353\300y\301\021.\360h\311;C1\212\251O1\327\266\234\214\241X\230-\215\314\204\370\016\214\017S\010\260Fq\327G\030\275\225.\314\271w\216\226l\325u\331/\024\020\370\311j\"hVz\372\021R\010\203\303\303\371?\213\205\215\262\321i\r\260T\030,\3549\251\270\200\250L\307}\3531\033F\034]o{\311Gi\236Y\005U\362\302A\022\336a:\2733\325\2014\356\252!\235\305zq$\037M\350\276\233\315\256\202\007^\256\373\373Kx;\272\275\234\361\351c\331\235\265m\253m\266\260Y\231U\231\225Y\231\207\"\311\275\275\350\334\334\330\343\356\245lH\030\027\007K\335\265\330\342\335\370\357G5k\223\006y|\217\263\335\365\233\222\263\253\003\363~9$\224\365\373\034k\200r\205\326\260\370\251\0164\326z\222\213\346%\350L\206\0001>\304\177\002\030\"\017y\006j\353W\352J\241\355\026a\360\261\211\264\313\317\243\235\267\353\362\346\021\210\262u[f\226\306<\221\365\\\0051\033\031o\253\033\002uG\264\017\327\357o\334\256{0\2359\365\021\t\002\320y\366\224\220$\246W\355\211\027\375\226\027\302\006\314\210\206\303.\346v\362\310]R\330\341\323s\336\343\2666\271m\260\353\261\256\2739\330i&\377\210\2025\2160\374*2O\023\250}H1#\305\010\"I\"2V\207\257\016\241uSce\351\270\334p\251|\017\332\373z\006\205\264\020.\241\031b\242\204\030\211\367J m\232%P6\020\330\014b\r}\361\207\004\2214\352\3639wel\321)\264\021\037\243\343\356\362u\3275\3068\2322\347\226\026\346CXT\324\340<\247\365\301^Qw\214(ckz,h\n\033M\247\305W<\310y\370\343\271\313O\3738\351\207\300#\304d1\201\003\037\205\310\335\220\214\374\320/0y\302\017!\256\317\2533\211IE`\204\327X\032@""\027\020#~0V!\036\210\301\203\030\341M&\220\243!\2414s00\215\273I\245&A\2528K\243\226U\230\340\361D\210\330\354\243\356\310U\3774\032\rL\270%\240\206\004\003\013cC\263H\353\035\237\211\311\007\233\235\205\370G\005\300\317#\201\204\265j\030\200\264\2065\236v\346\316\354u8\374\266(J\272o\010L\000\261F\265f\255hy\255\211\264\025\331B\250\245BL,R\3040\367\376W\305\364\247\317#:v\366t\353M[\013SH\224\022\354D\266U2\373\225\022\242L\204\322\033\223\271\036\213\273L\210\"\262\345\244\307\003\3226\316\031L\0340\253\212\324\226\035@\211(\233Z\025\206\017C^\003\336\007@\037\037\314lmv\373\236p@w\207\247\321\336NY,\376ax\031\205\217S\366c\365\262I%rud\357\354\314u\317i\355\374\356`\220\021\221\222(l4\204\024\226|w\030\"+\362z?\2170U\302\370\255\267\372\255c3\020~\247\214~\036\311i\344\331\216\371\000z\003\010\016v\216\253p\374E\323\254\003\245\210\n9\303\332\362\036(<\3510\030qU\334T\316\361}.I\202\\\026\263*7Q\234_E5\226\233\230a+rV!\255\tx\200\363y\341\035\271'\257{\245\n4\235\3416\265\210X\232\301Xq\016D\031}B\310\365k\206WD\r\032yi\3078^\341\353\237R\341f3\332\274\003\316e&\206\222\260\021\225\024\201\242\245\323\014\365I6\\\267]\301\336\304^\324\366\311\310!\255\321-W\221\301\205\214\250\021\302\000VM\230\323FX\034\315\230u9\360;\215\210\261z\r\210+d\003\212\203\274q\023\003~\266c\352\326\177K\026\254\372{\261\221\036\257\226;\251\336\363\351\255\202\202\352b\350\010\236\236O\226R*\325\330\221\014F\010>\354\027)\204JN`\204\345\266N\254=\321\014\r\320\3477\206\223Mx\266M\244\307\364\331\267\275\252\264Y\332eH\274\231\220\257\277:QQ\364\274_\020\251\265\310:\346-@\372?9\331*\035\020\0324\026``\362eY\223E\255\000(h,\301K+\020\202\233\324C:\373\340\333\035\274\370\211y\0148t\303<\243Zw%C\305\351z~3t9|;\354\370a\364\346\267\371\177V{\312\252\3100B*\252\210\223\337\3409\222\335J\371~>$\237\230\"\310t\006p\031h\222\"\253\016\001\021Q$\030\301b+\020\257\216Y\030\332\301#V\237\235F8R\235\353\261k\353\232\350\232\340k\206\271\257\267\3443\273<\014\206*\326\2279Q\207\322\200\314J`""\312'\276\230\346\275x\353o\315\376\256\234p\302\363K\315\250*\316u\206ke\312S\347\314\317t\245f\024\2054=\rp\233:j\303B\245J[&\362m\014\234L\2056\261r\344h\230\244aTD&\353\2316;O:\277\232\276]\340\312de\254e\350\252D\356yX{\006,\212H\n\221\200\004R1\222\013\003\327\36463\342\023\253\346I>\317Z>\213\342\202\2549\306\235\261\021Q\021\025\021\024E\213\333\201\320\351\341\276&\304\354\366\017\017\232\325=\330pl\030R\0372\270\213j8Mw\031\252\243\016\326\340F\324\254\201\020\211\026l\346\211\021\266\350W\234\002%\"\302\037\241\030F\027\366a\231\2767\336\371\032\3128\327<\355S\2429\220d\270\345y\227\202\375m&M\231\232\315\233\342'7\t\330\316\366\272*\322\367[\307D\311\225\257\315s-\000\214\227\267\217\016\357\203\333\355\223\332\006a3 \231\267L\362\023x\320\332\352\341O\016\035\232\2467r\257\243\353\263\337\017ON(l\310\330\336MF[\024\323V\302\n\013U\245\256dB\301\331`5\323?\253\212\321\373\027}8\316\260N\245;%\264\030,[\354(\0230\266\330%KQ\r6\233`\306\201\377\014\223u\206O\313y\363B\025\244\341i\r\333\367\027\365\347\222. \316\354,\304d0\323H7IL\320F\013E\237Q@\213\204\241X\354\005\241\324\242C\246SFt\300_\001\321\322\345\352\240Z\351\200\277\030\335\2251z\025\255JR\321\216\021\227\014s\326\250\001\021TFC \205\240D>\240l\364\231\204\030\020\340\341j\201\372*\302\2647\315\314_i%({.\025d\0306r\224M\243la\322p6/m\\I\005\357a\rk0,\031\021\206 l]\023u\005P\243\332B\"\220J\013\326\207@\364\264\360\322\343rbW1n0,X\303H(KA\037d\214\324\224`i\235I\223[\356\245\203\235\314(\021\005\006\220\231\nFnf\341C\203Q\3460\273\013P\245\310&i\014X\324\246\314\021\215\260\021\370Z\021Ja0\301H\\X\376\234\014\370\307\014ts\22529\257z\264Ar\014\232C\030\330\004\273\341\234\202\215lIjZ\212suI\007\332I@\320\306\002\250`s\006CNuM\225\204\317\247;1\230`\224OQ\254b\262\341\026\255\340\232\232\270DIn\010t ]\013\242\002p@3]\300\265c\2722\215x\340@\023j\213\034`\247\005r%lFVnkY\032y\230\235\354\330\031\260q\"\263j\321g[;g\204\235+K\013X*)\006\301oC\2044\205\202\220O\024\013\210\n\262\343@y;F\200`\035""\314\350\246\001\260Um\2042?\033\326\346\231_\3352P\364\266\033\3634V\313s\206\030\225\034\337\0273\325KLs\030\353h\276(\tb\275c\261>}\020l`\"\234\021}\370kM\251\255\354\326\270Am \021\365|\216\025\330\035[4.L\204g\237\035\372\034*\025\034\325\367\360\215\214fW\362\2609~\204TCI\215\215P\r}m\210\330y\025d\362\322Rq\315\216\210\345\2121\205Y\2529\\\341,\247\217\005+|\"?\227\355h[/\003\355\323\232{>Si\270\204rg\035Z\205\305\007\007c\036\365w=\336l\364\014\3725\200DC\0060\210\"\221\000\351\315\300\253\032S\262\3646x\022\333\030?\013\306\277\2034\245\255\2104\3377*P\206\275\302`\312+:l\200\301W1\370\347\205\253e7\300\363\371\363\207\3559\260\240\022@\336n\214\301\274\270\317\207\251\254\025M\233z\030=l\257d\010wfC\026n\373\235\304\020\314\314(*\264d\226\272Qg\032\343w\256V\"^\260}\214{\234\241S\362\360\307\205U\272\266L\354P\370\276_fx\330Ue\\\365b\034\006\337 \r\271\260\326\0200\246\256\255h\323z\330\203\245\352\311T\351\224\2644@\315\241\307f\273mB\362/\216\036\207x\022&;\233\327\017\315(\346U\310o\235\014\370\356\335\273\324\260l\307\323\2310\254\220\232`\246\004>TG\034\014i\303+<B\314\322\373\265\306\365\307/\022$\374\t\212\253\001\020D\212\212\200\035\203\356w\362ut\0346P\307\253kW\022/)\372\245!Y\016U\033E\270E\331CB\tK\200\322\240\336\\1ZlE,\344\206K}\321M\177\2426\246\t`~\307=\210\"\020V\004\333\204\354\330i\023\222\364}\342]n\332>\377\237s\340\346\315\332OO\342\202v\302u9<!\330[\350\240\n\336\002YVQ\376\367\240l0\353\261\363\257\256\217\235|\341\363\237r>\177\315\200wp|\230\004\021\016\033>\231\3568\242(\2041\326\220\222$\033\030\206v\301\317\263\335\362ID\202\307\337n\250\2216\246'\253\305\024k4Y\007\326T\000\357O3&\321\271\212\307\2731!\203\203\313\272\001H\326\330q\224l\306\315JXi\231:3\0104\324\267\314\376\237\357`\256\231M\331M2\361\234\213\325\001!\021\002\264\307\266\302\2154m\275\020\227U\352Ef\217F\343*\205\276Ki%&\036j\022\226\027l\363$/0\274\300x\206\004\277\201:QB\364\357I\203\273\215\326\001\352\n\242\250\224\225\013\"\227\024z\215\003*\310|l$x\262""\003\251d\336\354\332\030&\351g\271\371\267\242okZ\031\205\207\363\343\023\344\274OiE\326H\252\352\333t\230\254\237\216\310\213\030\345\214\035\275\233:\366QJ\347\263\214\370\035\256\351\302)\212\254U>T\275J\246\3233\270;\365\2741\246\035\2330\357\356\371\003\345\344\025T\024\016\003\217\003\211\243\270TL7\207\327j6\360\370o\312\027\223\030\t\227\343\016\234\022u\025\023\257H\375\034\366\n\272k\024-`,\016\tJ<\034B\226\323\002%\3010\"`B\362`\037\324&\355sy\226\022\342\024\225-\250\302\326\346q\357\202j4\335IP\004\237#H\212a~\257]\017V\231I\203\006\275\214$\337\301\367\266\353\201\306\372\337_\201\366\277\231\323~\300\273yE\t40\203\222\216\350\"2\n\264\010\331\341\006\003\000\\K\350_/ve\036\3253\270lXD\372\201k\250\250\205\327\310\342rm\214\030\361\355\016s\n\240\340\010}\262\202|)\351\000\213O\266y\322\263\365,\006\230y\024\275t\255\274\264Y\257\213\330\004\010\256\210o\350\003\357\034\317\356\374\037\234\236_\260W\215\302\261\305\"NQ/\254\225:\r\246\273m\274\336\235!\255\022'\002\357\327\352Y\000x\243\357\215\273\r\037\013\267\310,C\364\214]\254\001\244\312\334I\007t\"\006\023`D\213\336\370\276\036\2347\375\023~\263f\252\227\270I\254\002\211\230c',\232\362w\236\036\243\253\307E\365:\366h;\006&\306{f<\np\373\234i\325\221cF\2776W\310i\207\344\202\0066\270\260\034\020\226\0277\342\226\257\360v\300\213\263\207\2239R\374\"\006q\205\030:\265WJ5\244\205\221\300q\235\\u\3159zl\244\217\250\360;\317\215\002\375:aCE\253\201m\032\332\034\344\252w0\267\241\355\267oq\307,&Q\237\254\326\n\321\314u\036\300k\361\260\217\324\240[x8\350\364\236]-&\205!tf\273\021\327\241\274\365\363\271\340wS\252A\212\310\"\240\214\000F\002+ \241\024\221d\016\236\354\374W\324\223\361xOp>H'\320R\257\345?\"\334jk\207J\306\223\305\355zc\357W{\302\223&\030S\321\235_\236'.pIo\004\025\367\243@\341V?-\356\273\325\233C\030\306\"\356\037\0102\222\354]\361\027eY\252]\006A~(6\\s\220@\215\007\220`AF\214\251\217\270\212'\002\2213\033DL\026y\316\375\"\303@\202\277\006T\250\207\331~\261\021\233k1@T\005\3326\223y9""\274\335\373\276\005\316\013h\001QD\024UP\270\251\323\343Q\324\367\006\343v\2779\313\236KvM#Q\236BI\231i\257M@=T\247o\224\354\217F6\242\217G\321\322D\361\262\227\223\210E\362m[\231\315.k\271\035\016\356\233\227\207\276\374>\217x\322\024Q\232-\0171\206KH\023I\232\271\211\354\314GE\232-K\010\331\230\271)\207\226I\366v\373\242{5=\t \346\027{\003\013\372\363m\032S\177\304\313~\002\251%\375\314\267\310/+Zm\277^\016\\h\354\355\234g\277\263\261\017:yJj\231*\266v\341\206|j\035\255EN\006\310\332\210\330\344\312\237gX\000g\325\314\222t\t\232\337q6(\334\274c\317ZM\242g\332\261\0107+\276\266y\370T\263\304i<t\326\221\242+6Q\211\203\3671\251\307\025-\300a\357\357\255\360T\305\005\305V\267\356\027\302A\010\322\2771\215\\\275\233\264\314\364\216\266\251\3167\353\022k\030\360\220\233\232\3419\271\340&0 q\t\347b\300\354d\345\207y<\367z\247\343I\375\000a\357{Cr&\306s\035\235\317V9\210\217\000\361\032\033\373 \205a\014a\317\247\210\227O-\021\330\303\241fTg\3568\036\235\365\312\273\314a\007y~\364y\220\303d>\201\361\360\343\324\372\207\245)\232O\201$\310M\313\277^\246\235Ql\246\360\3036\330\345\n\334\014\355\326\275d7\0103x\020d\206\265\204l\316\321\241@\230\362\366\007\272{\257\307\354\236\234\375<6\036\203CQ\014\023\023\007\332\372\303\352\261\035\276x.\303\217\\#\237(/\327\336\014[\261\273\261\333\235\217\233&\337\235\367\2176\220Rx\230\036q\2062\332\005@\250\020\327e8g\216\022\374I<\347\277\322\274\312QDZ\315\035\\\021H\027k\214\0069N\024d\237\000J\352g\201\217<\220p\343\221\325\305\013y\323\320~\177g\311\206\335\\4h\247!\300)\231\373\035\323\016\\\314U)t]\211\244v0\301\207SR\316\010\030\216\r~BBT\016\322%A\007\276\305\305\345\324u\366D\275\235F\3552\030fW\351\344\316\310kkB\221\307Jj\263$\367\016U\027\224\250\3706\240x\366\030\327\350\332\312\2044\251\315\262\0342\360S\217r\360$'\021\2343\243\301\322\235l\013<\313J\t8:S\003\n%(##\305\344\311,\313D\323EL\365<\223\003S~\357\243\321O\267y2\026\275\215O\261]\025\226\3031\020\317\227Z\347w,\243m\207\347\262T}t!\253\327\302\224/I\226\306g""<=\326n\362\037\250\232\017[H8\260\2729;ux\207\270F\007\247\201Ds$\232\222C\020x\246[X}n6f\343\0136\362v\350.\032\207,P(q\004+\272\224!U\244\333\006\323C[\006\211u\360*\325w\356\300\256\306\r@\213*BC\234\003i\263\314\356\250\332z\254i\362'\246\322\356\251\335\301\323S\310a\3335 \241\024\010\261\030D\030\020\304R\245j*\204\324\004\364I\345\201\256\236VE\205\342\350\337\033\020\361PQ\010\025\223B\256\201/\026B\276:\331\rnP\352Crd\306Q\356\326\225\241\251\276\025q\267\265[\206\362\377\000\263\300\337\020\315\231\032\275\373)\2746\021\212\235\366\003u#|\266\000\034\033\262\000>\235\205\343\202\223\021\266\0273\000\306\330Q\211\034&\005\004b\213\206\314\303\320kx\253\r\311h85\275\214\202Y\242\006j\031\n\2712\225\314\201\300\260D\200\252\253\214\226\023!\242\372\215h\300\337\334\37297\271\177s\365+\230h#MgR\r\270T\344\027g\267\366=\243\260\355\342\374\215-\031\206\260\251_\246ERa\007|8\010\006.\264\216\312\302\001\017\257\220w\035\204'\003MB\365;{\253/\274JI\260PH\225\220\3558\220<g\262O\270\202\004P\213\031\004X \250\001\004D!\336\220\213 \253\002kD\262\311\372\204\241\"-\225c\310\033\205\247\023%\360\245\362|\177+E\273R\313\201\270\307QT\260\007\3479$\363H\300X\214\367\211\320Q\"AU\220\024\220\026\002\204\0373C\004\347\311\021\214\3633\241\276{}\022sb\036\207\317\327\330\333}Xd\031\334If\205#\000`\320\201\214\023hA\016\032Li\264\224\020w\357\324\325w~\016\222\221\231\002\350\203FI\242\024\367n7\322j\021s\256\361\307\002\323d\267\204\3759*\251\023\032M\202M\211C!\210\206\213\r*\266B\232?\271\317\252h\026Y\341w]\366<Lb\206\002#Esr\027i\312\362\313\024m)\021\220<\"\005Z\303r\203C\213;Q(\205\020\254\315sLc\001\2666\014D+a\217\211\367\270v*q6c\030\320f\370\t\020\037or)~\274\354\364\203\2459\365\376\354[\212U\021\253R\224srd6w\373\032\323tUE\013\2234\234(\312\21439\031\357\024f}\017DI\020\224\240ta\020Q\216I)\332\240\244\356\347\324}N\274>8\254\276\227\353\247^%\244\213\274\367\356\241\020\274'\271l\332f\314\010\263\204\261A\020\266#\250\206V\252\242#\343\320.\002L\205\241g""\\\014\212(\335m\267\235\373\200\273\021\200\362\336\231\013$1\261\265\252\031\226\353.L\256\355\343\033\272\200\247\340\343\014g;\302W|=|\330\305\252\r\301\266\257\277v'\003\321\000nx\370\030\241]\366\020a\271\355\216!,\030\320\376\347\310N\356\221\326\362e\343D\224p\216\261\217i\035%\202\307\367\0312L\304\266\326\010\336\360Kws\243\325\367\270r\302\367)6|\331\350|\360\206\361~\253\307S\253\344\360{\3340\306\301\256w$\347\nH\274-\031$\356Q|\005\347\222FN\031ntI\350\360\343^\025\322v\275\273\274<\273DE\337\024\326\356\235\252-\267\032\274Pno5\325\363\265\357=\354'\014\364\352\316D;\373\250[\237v\363R\315\"o2Q\300\310d\343\013\236u\347\247m\202\313\271\026\034\375\303\314\326\226\324\222!\332\224\352\307\013K\2118\341\020\251B`\225\200\331Dv\004\\\224^\314\nI\027m\244\302\205\325\313\226\301n\255\213\3404\244\265\255\225\305XFr8H\027\355\307\260\267%\246d\201n\230\266wW\000\n\357g\010\253\026\033\000$\222\267\252\224\350\020\3154\016\245SyA\221IU\004(9\0221U\351\345\212\307xj`\276n\256\2214\345\351\232\366zC\353S\312b(P\262\221E\201\000R\002D\370\031\\P\245C\315j\303)H\014H\010\216\247\2332\033\340\270qJ`T2B\270\211\004@A\223\212\\TF:\301\2766\270\000\237I#!\026\023g\360N\017\\.\213\277\207\312H\276\017\r4\364/\276\305U\210\204nO\001\246\306\014`\016\024\007\244\"g\207\327P\301\3725\343\243x\027\246a\253N7l0b\025\024\261\3114\202I\213%O.\022\217K\3100\367\272.f\206\014\316\006\332\316\004\236\317\223\246\365\344\363\017\242,\233\362\345-\245\264\266\254\204\366\004q\306\333\334\006\265\216\251Z\333KojM|\336}}\255\023\303\334\270\365\003v\347\242\232\302\337j\306\261\237\353{\370he\266\234w\275\311-8=\371?\242je\373\266|\034__\007\360\023t\331\320\014\240f\364\034\245i4`\207\360RI\010\274C,\257\265(\2241\"\316\254\022#\n\271\r\202\264\360\361\032LI i\210\031\365=7y-\225(\200\225\364\021E\210\307\263)\030'#\305\371a\027\363\215\013\360\366{Hh*\367g\325\307\001n\362\010\021\253$\023\375S\352\024\251\355\347!\305\260\373\241\035R\205\255\371\225L\322\350\022\221\t\2144 p""\"3\243^\030_\255\314\336\237\376\357\362\371\223yX\252#\026XQ\031K#D\2246\037/\224\356\327\014f\347\021\n\265U\006QuWM5\235D\324g\241\301\346\233pp2u\371\265\021\334S\263\272\tP\244\244\312u\234g\235OWM&\246\016\225dM!\264j\221\371\031\0135\335\331l\033F8\305\305z\301A-\377\253\0302\317\003\300\205L1\341\303\206\324\365_.&I\264\316S2J!\033]7\r\237\326!\346\020\325\357\035\3375\203I4\315)\266M\267\001'-ly\214$\301\335\243yx&\201I2\241J\301Lh\031\251\002o\026\006C\272\244S\204^Hq\307\007B\317R\2702J\024p.\177R\335\203\327\007\206\314q\024\373U\255\277\n\201C\204&\2607\266l\230\3019o<\340\300\310\010\200=\022g\016eV\316T'\204K\335\2319\004\302\211C\310Y$\204\016}\263$P\255`Y;\2720l\257\341\217\263\361R\373\367a\277.\233p\374\333\270[\014\2036\206\260\256\3343\334\025W\370M\357\027\213+b\371q\255\n\014+\322d\266<9\303z8c\300e0\335\274-\274\310\\v\376\0313\300\266\3711\247v\005\365\334\226\230o\343\276\205\255\006w\307\006\016`\206\307W\027\254\325\355\217\275'[\r/\305\221=\224\335\255\265\267\211-U\270s\200\267\265M2\014&\013c70w\202\307ISt\257X/\313K^\237\026\233\372Qp\322\374{\360V\321\302\333G\302\206\033\362\\\t\267\007e\351}L\022'\251+\327\341\311\335\333M\207\225\205<\010\321H#\311\315\364\317\016\334\2046\221\2104$\301\206\366\310\201\265\223H\026\355\016\\;\327\321{\267'\202C\252\024B\335\334\306\030\342=>\227\340\177\271\372\337\321\344\362y:\301l\243Px\023m\016\034R\271D\251\020\366\241T|\200\260\277\366\027\277C\031\207o\272\370\313\264\034\037\026\332>\323!\350\322#\367\363\276{xa\343\346\362\363\266x\235s\330@wZ>Sc\263\003\007z~\326\342\020\300\303\350\365]O\270\2061\214\302\310\323\307\207\242\274~\021b\331A5\2216Ng@\035\277\261\241>b\320\306\005%DTz\241ul\301\010\305\210XJ\202\2312\001Z!\033\210?\213U(_\340\256\001\360\215O$>\244N\240\216\273\242\300\346\306\t\254\245\253U\323\210\216\202\236\266\036\222J\304\261\300\253aD\021X\021%\352u\327\034o\322\360:\232\260\2665\034\272\206C\321\203\225l\033\222C\202\320\237ag\026\025;T\010\260\275\240\341\311A""\205\355`\326\2356U\036\247i\256\207H\314\270\361\231\2404\234\027\241K\205#*\201`\233c/\201%\201\224)\002\273\013\324 V$\260P\303)\0250\024\332\311\354\343\"!\230\332\240U\355Vsp\000\201cb\000\222\002\260pF\010\311\315\357\232\016\010\002\321k\234VZ\232A\rxq`\020`\0310X\"R\367\n\014o\363\304\027\367=\304h~\212\030\033(\311x\257\277\225\n\230g\2610J\020\277 \301p\316\324(\r\010\006\223I\211\022\301\022q0D'44A\302\245\035yG\327zUEs\347\225r\314b\020v\262i\242\035\034\025\014d \241\355F0\300AIY\270c\352\314\221\214\227F\005\331\211u\032 \253\365\362\244\242\376\335~\031oP\344\340<\313\335\342\223.\200\010c\303*1P\376\020\243\327%\3635v\220\252\212Q\245\247|!\313\342\322So\227r\034\271\261W\323\302\342x\017\221[\346K\311\225E\261\205\325\2004:r\311\224\230F2U`\tj\204E\245\034\342E\234%F\022,\321\236i\037a\246\010\032\022l\255\001\354\205\272\204\234C\205\246\325h\315\323\2204\\\263\316\327\275)T\245:4\300\260%-)YB\226\216C\0142\203\253pr\231\202\301je\241\226\305s\312_\t\307;\212\022[WM\005\235\252\351\317\353\326L\255\237$\232\342\314:\340\3340\032?\256\302+\244\014\355\014\302N\013\213\033\224p\211n\305C\313\307\227\003\2118\361\243\231+E9X\317\241\240\332!\263\246[\002\305\244\016\260T7\216\003\300f\ro\r\230\265\317\"\330e\002\215\006\226i\246\301\2444\002\337H\206\032\223\260`ve\222\262\247\221XT\254\273\242\365I\330\364gEWu\311\276\016\0357\201\356\215Z}\374\254\037\261\331\365y\363-\3173\000\r\346\220\030\351\345\331=\017\210\310\005I\004E\0266\366\361\356\336E\353k;\237\246\301\321\257\0350\274Q,yE\331W\246\235\037\343>\001!{\001|\000}\002\370C\341\017\240\260+\026\261S\241\300\372\003\324\2175\000\240\321\274$BlU7\220\332\206\227/\302\302\303\021\003Hm\024\002G\355\340\275\211$`\274QeOr\337\3244\022d\357\006\237\023}\357w\252N\323\371\002\001\357\244*+\0011-D\037\262xc*\376\264=\2756\313\330\265\210\217J\301\301WZa\365\237\361\252\265\230\203\367\201\206\265#R\344q8\312\210i\247A\324\233Z\251B\367\347\310\\\201PU`\3304\007\250\374\254\327y\236\336\247,o\313^V]l""\333\236\022\267\305\347\326Wo+\366\r\202H\037\t\007\373%\260\361\303\367\336\006{h\210\272!-\363\033\272M\366\212\321\240l\357\232\234\0201\370\317\017X\217Xz\321\353^\303\335\374\366\333\323\342z\377)\255O/>e:\377C\342K\230\242\226\020\374\214\004Zb<\371\246\305\326\325E\0065\250\211\375{\n\315\275<1\"\330\341\345\262U\211\227\345\300\366\226'\337\350\007xw\201\337\336\007\177\304\274\201t\245w\363\372\023GF\221\275\211CA\036\351\365\346)\326w\366(\016\347Aw;.\332N\035K\335\030\362\361$s\225\350\254\302\315\242Q\027-\232\033\325\021\013H\026\220\264!h,Z!:\025j\362]\001R\210\344UAE}\364R\311\024$S\341pFdo\335\371f\2220w_i\356\036\373\000\324\322R\016\276|\206i\341\214Iz\245\201\214\204\016\314@am\301\314\\\305\314\\\305\315s\366\274\375\336\377\2001\303g9\231\033Hf\336\227\370\277\250Z\320X@7\365\355\351\242X\364d)\030\273\035\032B\351\316\363\265'l\335 ,\353\321\347\222u3\267\241wa,H\224F\205\005\266\305\314\326\023Vt&I\241\232\321K\331\316\375\267w|/Pz{\340\245\356\036\223/\252J^\243B\341\372\0044\000\306\006\373\357\025\326X\220\270\343qK\027$\304\276<8\220\223cq\020\312\245\310\253\271<\222\2331\322 \"*]D.\241r\336I\236\024\302\"\032+c\253.\315\2727%S\r\"\210\224q\245*M\213\025)\263\2213\324,-1lv\230\356-\017K:\210\205\020\237G6S\261\326\315\241.\215\277\257\035;\325Y{\324\221)\001J\225\313\234\256\n\r%\3075\205`\242O\232M\232\226&\344\200\200H\022yv#\240\020\023\357w\277d|\344\277z{\025\350\217\355\325|\352T\263\021\030\366\205\260\3660\3761\303\254V\013A\255\235\234\025w\3649\016\345Hs\021\215\232[\263kO\372\246\027\236\241XFR\332\r\377\301\362q}\016\213\260qW\037E7\226\031\242\0216\237\230\353\331\333\006\257[\026\"\213\353\025\370\305\257{\374v\026\267`$~;\177\270#\327\006BV1$\212\260\024\212,\202\202\201\330\222\037\252\201\214\021\214<\217\223\255\250\241\021 E\002\013 (\010\224B\007\364\263\366\222P\375\327\277 \030\204\213\tD\022\317\3740\375\246E\026@\377\312\n~\024=&E\201\377\004\003\362)%\265\031\022\240\r%\377NR\271O$p@\031\246bJ \306\345\020G?C$""\310\212C\025EJ\302h`(\r\375]jM]\357FjJL\267B\242\355\223N%\2147j\202FK?\300\317\201\020\005\030\177\277\360\263\364\204\304\324\004*\310Vz\322\333\211%\312p\214\213\031!\246(\210\210kT\254\256\231X\262:\226)&j\303\371_\231\214\023\365\322\277\315\267\344\375\315\232u5\203M\2468\353*\314]n\344\177\254C\347`O\34206\215,\261R\025$\313g\3444\030U\267M\341\213q\271i]\224.\305T\374\375\025N\020\373\001\373/\267\376\325D~\230H\\\375j\\\234]\234:\t\227?\201\275]H\034\"\246\"U\375\360a\267]\0336\210\374\311\206Z]\345\352M\\\323!Fn\3354@\321\323\256\324\007E\264\335l\352\342rkf\t\303W4\227\007\2271\031unD\033PJP)g\3437\370\013$\252Z1?\327\207\320fR\211\370\365\371X@\345\322j\331O\322\326\032d4V\361\376\314\306\034\234;\336\244\334U\036\023\254\211*\\9p4\364c\272\256\250i2\330\026=m\325?\251\375\357\267\373\257\332\374\235p\375\222\245\222o34S\215I\267w\373e\216\033\266\210^\226\032_\270\326\336\300Y\032#\202\321\223s\240aj\036]\320\371\036\377\235\342dk_\252JK]\304$\201$XD7\227\375o\026\212V`\256\256D\023\374\223\365\034A\0032\255\212#\231\027\256?\371\353\225\200\360+b\372\241\326\327\351y\377\347\376\200\2506\177O\346\330\204<\367\"\372\317\006@\001\245\234l\021\354\343\270G\007AS\227\003\323\"\237\314c\2572N\245\264\177sv\354\244^\306p\234\327P\356\321z\2454\0174\263N\240P\323\330\260\370\377o\370\376\025\373\226\372\3403w\t\366n\027\373L2 \335\035u \326\014\332\333\277m\225\3509)\021Z3s\241\266*\270\235t\255\301\206\205\236\035P=\010\242\r\304C\\B\024_P\203^\337\275\364\177k\321\032\204\017\263A\017F}C\3740C\236\221\303\300LUH\n\327\007\337U\272E1;P\242\017\020\331\347^8!/j`}\370\221\272T\202\234 \243v\242\267\323\325\344i\242\324\347\374\027\007\370\275\257\347\367\007\271\356\023\340H\002\010K\355\020\207O5N\026\203I\031\310N\262Q\275\320\014\016\200,\376)\246\t4^\367\376\3759j\366\341\035j1@\347\277\026\263\247\373I\032\255\213Q\024fY\203 \220\335h\033f\353\037\030_\333\311\375!\327\3346\036\373\177@\301\210\202>\237\246\205\253$\370z.5\241\364\3749\306.\205\004;\026""\243\204p\214j4\245\2630\350eu\214{\356\372\302\271H!E\265:\330U\\\022(\323!\334\276\3324\251\036\305\240\263\212\371\342\364\375?\351\376oP\372\235\226\027\3364~\331u9\246u\270\231\031\305 \311u\255\340G\332\365U\215\243Q?[\257\r\366\003\252\327*\020\341@e\247h\263\001\357\355A\306\3146`\023\354\341\356q7\324\002\300\252\237\353\374\203\371H\372\203\324^\267\253\377^#=s@\214mX\232\347\261\353\205\205@\375\217\276\305Y\340\305\333\026B\020W\316\357\263\210c\271\013\n\231\010\337\377T\304!$\205\261\340F\210D\033\336\332\032\316\333\212\026\235\2055\241\350l\237\036\377\177\301\337\177\003\033;\204\177\021\201\036\020\203\007\361\370Y\214\261\300\361\010\274\177\3656\205\363\313mV\327\262\350\241r1;\213\207\335*\3333p\263\317Je\267\305\255\215 \256n\332\315\366\241\010\200\330*\312\267\367\207\301\377\236>_\023\370\271\354\3751\037|:\254qK\211Llp\326$1\261t\214-tKd\335r\n}\354\241\004\3077\206\264<X\232\017\222\360'(\275\263^?\200\367\376/\027/\342\006y\236\0077P\343\324\006\306\317\001\310\352 \355\r\235\356\030\354\333\377\262\253\365\315\321u\234\035R\272\344Xl2O{i\207#\rV\267\033E\310\307\331k.D \212\007\227\307\323\371;3\307\257\252z\373\013\021=\007\333\352\230\016;4\354*\212n\315\347\203:\271\023\202\271\013\206\344\206C\203\303\253)#\007\034\205[\206\220\243m\033V\254\330\312\326.\346\3078\3371\033*\004~\027\014]\236\355\315\324G\037\277\336\351\343\316WQ\177\336\"\375+\260\344\351@k[\254agm5\374\211`\241\330Bss\223@\351\317\223\203\334\371\010\2221\310\035\273\207si\315\225\250\215\311\305\365\274D*H>\226\336p\355^>^\307AuE\276\303F\000\260\341\037\335\213\355P\004\035W\262\307\262\203\200M\225\366\365\307\310/\020\374\236\3250\330\315\366g\0073\2262\200\010\331\255u<\374z\255\240\207oP\351\017n\301\327\322\3263\022\020\217\3036\353w\035\265\021\225\037&\031\215\261{\300\224&\373\250\207\272\303\210&Ra\200\346qZ\017\177'\0059\301\023\331\307\257\260\237\270=.`\204\303\000\233\260\206\270#\256\035\331\3418\257\261\206\212b\335\201c\003\263]\265WR3X\032\354""\237\371X5m\021V'd0\301V\005;\3077sn\226\346D0Iv\361V#\266\302\017c\331\032\351]\020\237\246\002\256\335v]\346\3625\331\200\330\024Q\341\214\306\370\255o\356l\261\201\002Y]`0qq\\/<<^1>wb\353<z\270\264\025\331]Os`Z\331n\275$Z]\230\226!\331Z\243-\245\005\257\232\313\036\274\311\037\016-m\357B\237\267\027\316C\367\307?\265\333\326\221\363\217OJ\260v\352\rx]\246\366l\006\020\016\017C\331\000g\245[\260^,\305\353\267s\025\225S\206\rE\257\252\221\024\263q\234^\013\263\2268\"\246\321t{\353\371\207\235\306\304x\031\023\341~=\\p\361\320\330\300]\031\227\256:\273\330\214\225\214\034\361\314\314.\206[\214\335\201\230e:\231x\267K(6ss\271\016k[\212Q\026\332\313\217\207\303\367A!\024Cx:|.\345\020I\345\374\244\034\370\371\336y\214X\234\310W\276\247\236\021\027\301\254\207(U\230\341q\241\223\237s\033x\274\001\307\204\217s\356{\037T\317\253\205\021\366\233\016ip\375\214\3371\377Z\013\252$o\240I\375\223^M\017{\301\337\373V\345<\243\236Xq\213x\240\227\n\346\341\2024\317\315\036\227;\363c\213_8\3364u\215,\032\037\364,>\002<\005x\025\274\247\243\324C\304C/-W?\033\333\354\351\023\223\030\252\315\331\347\245\347\245\010\003\006\272d\035\270E\234t B\327\177\233\217w\304yO\210\020\034\370\313[\211\346\2615b\366\273\343\231\202h\027\272\t\347# \017,\217H\333\247m\206\267\215\021\273\323\rmC\034\277\336<=\376\177\013\200\357\320\207?\214\363\361n\203\202\325\252\350\327\244E\331\\08(\006\335Cq\234B!b6>\367\204\333\3768\364+s\216U\001\313\361t\327\350\343\014]\203]\335\345\210\350\271C\243\342]5\345\255a-\342\230\323b\037\253\340\366<~2\274k\237\227\232 \336\217S\0073<\341\257\325\254\335\314_]\035]O6\241\303\204\343s:\253\3541\223!\317\207\307\373\343\244q@|'\243\251\\\334\361\"\"XGI\202\227P\350wt a\204f,:\263\3458\314_\257N\000\354\306\302o\003\217\213\257\306=\260\2070\347kyY\016\303\331\324|\251\261i+\005\213\036\325\263\366\347\266.Y\223y\024cHs\365\217\235\331\365\373<\252\001\350=/7\3550c\310\262/-\177\"\307\342\244_\330\035'\307\363W5\211\352d\035\203\363\365\245\361?],B\362uP\230\303=""+\371+\014\375\267\030\020\217g\261\342\345\371\235G\242\000_\027E\337\255\361\027\204+\255MDFf\303\267\030g\214\013\313\307\326\036\037\203\276\326_\235\342\\\357\342 \362\362\265\245\333\236\365\304q\306\242\262@N\314\367\227#\357{\034\307\230\036\377}\024\207)\226I\030}s\251\246\307\326>]\003$\241\271\372?K\324C\341\237\017\252P\024L:Q\006\371\327\325\013\225\343\331~\230\301\234xv\217:\360\372_\310\250\365W\253'\236\007\034|\212\276u\342^G\300\272\336E\357\236~\036\027\371W\205|\230\033\206\026\363\312iQ\020\270\363q3\345\272\337\213\354o;'\340\366\361/\305|\276V\342!W0\3572\310\274l\213\003\035\357\037\177\315\373\337\344o'\231\241\370\261\345\3639\302\374x\240\211\3552\022\\*\312\222As\357\366y\270|\216<\353\361\364\037\305\336\225\342\210\374U\354\274\236\216<\036\325\364z\033\215\357W\257\037\247\323\351\344XN8\336\365\362q\340\374~\3777\354\234_\026\373\343o\224oL\247\227\271<\377\r\0365\343f\203\337\360\212\026\373\376f\20627\257'\2658\275>\2479\337\273\217)\340\361/\346y=\034.\341\342\370q\300\221?\315\305\360\216B?\037\347\234\334M\342\341\342syZ\0071\022\372=\362C\350\222G\377\016)\025\306\211\340\361\374\014\257\372>\034^h\371!\363\302\276\221\304\213\004\270\032Ipqzc\343\325^3\213S\341\345<\320\301\003\374\3202v\316\366\236\177\303\303\002\277\313\342g\370^\321?\261\227\263\333n\323\373\216\201\337\223;\3707\301{\237qyp{\331\335\321{_\034?wdc\263\204\367t\254t\334\356\266&g\270\351\035U\353?s\310\013\317\367~\035\030\022\005\027\253\277\370\233\274\336\177\327\317t\0207=\216}\320\347s}\313\273\273\362B\377n\346\336\024\3720;\350S\327\006\364-\261SA\251\3069u6\035\006\334\014\220P\215\234\031\225\353\352\314\314\023\363S\023\030,.\035\255.\373m\021\026\274\275\363\004\333-\362\032'\365\342/\317\324=:\363\344!\374\363\347\223\301 \253\000X\242\311\025\030\262\020'\306\035/x\203\247\014%\260\256\026\006 \202%\277\256z\035f\364D\021%\030eD4\303@\244\314\303#*\214\232\3165\\\017R\277wM\031>\255\0079Q\216\312\3526\350C\353[\245\207(\314\271\225\034*xOR\3326""\201\277%x\347\017p\366\340\371\372\267~\034\013\203\370\216\3740\371\316\0054zo\316\322\341\344d3\373\274YaU\315\3173\n\273\\9\030\3731\347+p\344\337ea\303\233\371\031\331ses\233\036\362c;\275\253\270\216\206\017\275\371\3337\266z\314\243\233\222\267&\023\305\351oy\203~\315\324\276\270\324\366\212\205\353\310\267}\313\177_\362\357]\327__\321~\347\206\307+\274Z\367\3320\265o\344\240o\330+t-gY~\237\351P\360{u\017\301\366%|\366\264&\366+\243x\177\215_\237\306\276\374f:\0354\330M\355\232}\014\335\344ck[\355\316>\374]\031\377>\314\336\224}\037v\334\031\344\036\330\377P\372\325o\3760\272\\\034\375\006\203._\301Y\r\177fjO\361\375\277~\377\215\311\333Wy\031W\351\373\376\313{\233\035U\204u-EUD\353z\324\356\263\r\360\373}\037g\016\354i\273\2749J\006\335\310N\214\035\036b|\253\252\370\217K~A\266\363\340=A\240~\002o!\364.\370\334\274\243\311N\3248A\317|\027\212\363\002\367;\251\306\370\265\315\313\266O\273~\200\364\277\021&<\366}3\373\220Y\272\371\346b\202\261\321\027>3\255UP\023^\217\321;\034%m\234c%f\227\235\227\303v2x.\334D\215\226'{\363\271Wc\252\207_%\373];\356\201\332\325uj\334\250\251\354s+\266c\002\363\330Y\016\300\347\026h\360\023)X\254a\3511\2040\251d\323h\006*8\026]\252\t\336*9f\351\334\260C\t\002\323\307F\362\363\036]]\3341\034\303.\356\341\025\213Whrm\201\001\003\3606\266f\026\3575\304^+(y\320.\223sVS\203sgF\2540\310\300o\027\3048&|B\3179iN8\270\305\026!\333\315kF\005.\244R\304\254\257\207r\226\315\031\272\241\201^\334%9X\035)03\r;\253\004\213\"\013C\010\004\2153D\022\005\310l9\0217\246>\271\266\211\272\335(0\352\214\334\311\016\273w\216\366\320o\356VR5V\374\327\007D\206\021\320\303/\310\221=\357Z\242\264\241\364\324Zr\316AF\032\0313\"l\237t\343\316\306\203\004pn\222\222\316\261\346\317\253\257\237\2144QNV2\255\311:`\341\267\2540\200\"B\214\0107\027u7\262\237f#70\343\017\027\250\223r;\3656\310\277$\301\316!\316a\265\253%\212\366\247R]\r\314;~6K\242\032\027\243\022=\244\343\247\275\305\362r0\t\007i\203\201AX\221\363\322\316-\310\315\364i\214n\337N\256\302[\222\032""\356MT\n\323\013\256\025\270(^\212\005\255QGWt\034t\352\360vD>f`\275\342\276G\2620\304\375\312\351\\\356\303{=\270\340\247K\031\264\302wX\030\275\373\213\014Y\330M\252\273\330\3642\354fJ\3241\024\024\374qr.i\266\301\302\226\034\271j\205\252\241\321w\245\212?\002\374\212\235\000\"\016\231\316\2367w\225\326\371\225\300\271\254\035(\t\2172`h\254\022d\213\n\351n\250Z\226v\331;\313\370Y\274\244\357tK\305\262\250\324\313\272W\252b\245\333l\251\2133\213g3-\301\227BM\325\234u\212\267\335\261Ck\234g\0044%-\3579\026\253ko\205>\032yYvk\222,\247wHC\361\355O\337\270w\276FO\013\321^5\215\211Z\3463AI\321\321\272\2409\376)\265\263\323\034\336\376U\327\237\233\337+|\242+p\227n!\256\366V\014\233~\036q\360#\202mBS\363\374\271f\353\254\235\036\354r\264MV\0101\242\202\"\223\336\036|\326\270\215%4\306\226\010\252\272f\365}!\201\215M]\317\236\376\204\247\330mO\234\372\376\265p\017\372\037\250\206\260Q@#`\264\332[b\020R\271\017\302^b\1771\334D2\202U\361/\336\371w\215|\265O\336\251\032\372S\267\232~\227\rT\243X\215C7\311|M\t\031\206\021\362Pl7\251\351\326\216\307\351\347f\036\037;\350l\3608]a\231\227\230\203p^\215v\323]\316\223\273;\375\211\312\333\007\235\220\241Q\014\265N\026\027\322B\306ad\341\324Ho?'2\260\332\311\224#d\371\177]\367%\367\377\374]\311\024\341BC\260{\261\004";
    PyObject *data = __Pyx_DecompressString(cstring, 17934, 2);
    if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
    const char* const bytes = __Pyx_PyBytes_AsString(data);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
    #endif
    #elif (CYTHON_COMPRESS_STRINGS) != 0 /* compression: zlib (20053 bytes) */
const char* const cstring = "x\332\275}\311_\023Y\367~\323\215\335\250`\203\342lk@\2060\210\342\2548t\004TZD&\247\026\315\033\222\002\322\206$\244\022\006\207~]\262\3142\313,\263\3142\313,Y\326\222e\376\204\376\023~\3479\347\336JU%`\277\337\305\317\217\246\356TUw8\367\234\347\014\267\274we\341\312\365\253\203\276+\364\267o\304w\337we\304w\317\347\277\322\327\347\363?\354xw\345\322\235\367}\013\033\003]W6\273\257\\}\343\374\2670\034\010\257e\242\251h|\331\227^1|O&&}Q\323\027\316\244RF<\035\333\362\255\033\251-_&\036\213~4(\227N\3706\022\251\217\276p\202\352\303\250\337\210\246W|ff1\032O\033\251d\312\240_s\350\220\217\376\004\342\276h<\034\313D\014\337R4f\370B\361\310\345D\n\017\\\014\245\243\253\276Qz\n\325\321#\027\r\3352B\t\364\203\037\260l\304\215T(M\205f\"\223\n\033\352\271\243\201\311\311\340\313\251G/^N\215\005\237\217\317?}1\266\340\367\277\013]\372\024\270\364g\360\375@\337\340\202\331\337\351\177\367\241\223\322\235\310P\032\205\224\365\373\037\336\035D\216\322\375}\013}u\236\345\357\363E\022\206\351\213'\3224\256d2\221J\373zGG\251\253\257SQ\032]\357\350\334\374\354\304\324\223\005?^\323)/\352\247\347v\312\033\373\373\250\220\252\026\372\374\243o\351\201S\301\321\027\317\247g\307\347\346\202r\343\\\237\357\376}\337\336\225\035\264|\252\362\345\324\313\271\3611\237+\027|\025\230\365\327\226\004\203\323[\233\3011#\234X\245U0\315\2714\326\264o\344C\267\177\264\317\374|c\360\332\225\257>\037\365\313G$1}/\036Z5\036P\352\356\302\306\227\205\241\276\001_\237\252t6\377\"7\017\370|\277\343\236th\371\201oh\240\357r\277o4\024^\241u\311\304\027\023\231x\304\267j\244W\022\021\323\327\177y4\024\213\275\224\322\321\347\\\332\035\241\366\027\351\217\017s\3503\211l\242\211\370]_\267\211R\334\242zL\245\276Pl9A\263\274\262J\323?\344\033\366\255f\3144\310\243\367S,\272\330\253h%c\322\253C\246o\211\336\265\030\n\177\034\032M\304\323\241h\334\364%C)\324E\214p,D\224\203'&\226|\346J(\205\316\246\243\261hz\313\267\224\211s\027F\223\3119Y\337\241p29\272E\235\215\017\351\013\365\211h6\245\362\227u\3762\3060\224""\334\3626\033O\245\022)\323[:\275\22526\347\267\222FM\315\\8\024\217\323\372x\313\321x.\226H\353\033d\025'^\314\247\014C\025\315\033\3246\035\032\177>=\377\226\350~q+m\230_2\361(6\323\227t&\0313\210\256\307W\2234R=b\336g\330\203\334M\236%\336\357\364\244\030\357/W\303\336\361\315\260\221\304\014\231C\341\361M\336\000\213\261D\370\243\254\006\366EX&\234\256\253\253\304&\314\273\207\0363\035D\343\353\241X4\342#J\361\365\326\026Q*c\350\212L\374c<\261\021\347\nP\243]n\0321\242\006_/1\0253\035Mg\322\306]4\240\036\367\272V\026\234'\221I\373R\006\215\"lpG\206|\376\336'\261\304b(6\227\246\221\2514ub)\341\013-\242u\3107\315\363\350\213gV\027\215\024\206b\246C\361\264o\305\210E|\213[>\307\355C\207\230\341\204\271{\362\307\344\005\341b\031MMqr+\230\246Ut\024s\222\370\343\240/\226\210/\017\372\226b\211P\272\372\210 \317\272\263\255\201r\031$\327E\227|\221\350\322\222\001\226\354[J%V\345F~\304\244\261\224\276\224 \246\352^\304\325P8\225\360\365>OD21c\316 \272`\312\rO\005\236\023\303\030}2\371\342Q`\322\277\232\210D\242\341t\220G\330\347\227\312\276\207\252\032\\\365C\037\261\264\005\342X\276\251\227\223\223\35222\225\210\033S\21141\357\225P\332'\204\t\261\0211h\2332\317&\311\200\001\205\211a\242Q\3347=>}\351\372\355\353\220\002\264b\177\021\0270!6h9M\223\270-m\323\305L4\226\006\373\307\206\031\362M,\371\266\022\031_\334 \372\244}\237\244v\316\033HH\304\211\231\244Yj\365\322nJ\244y\3060\371B*QH\250\350:K\230\307\241\230i\014\275X\304{\237R\027b\324d(L<\363\355\233\340\370\354\254\337\327\323\343\223\334\344\304\363\211y\360\324\361\331\271\tb\261O\307\337\370\036\020G\336\274r\355\212q\205\376H\263\347\201\331g\27038\375b\316?\375\326?16>5\377\345\345\324\304\350\213\261\361\276\005\277-\177\026\372\006}\376\351\255\321\307\212\353\364Mo\321.\014\276\010\263\210\215\370)\377\030\364\020|L\353:\226\310,\306\014\1778\250\251\322|\027}\337\327\243\233\200;Lo\221\210f\352$\211\021\230\037\367\325\024\004\203I\222\004\313\321\230\311\205fh\335\030\231\336\232$\322\343w\010Kq\274c\320""\327c\304#\301d\302\034\364]\273\212\267q[y\331s\332~\233\301I\332\375\376\036\235{\031\217\251\274L\250\257\337_M\366U\223\221P:\244)\246\246\264\276\274\362\207e\033\014\372\2527\364\313NM\207\026\351\266j1\335D\371n\323\361h\265\205\320\352\021\330\242c\274\201xd.\372\311\020v\351\033\360\361h9\023\214\031\361\345\364J_\375\347\274\024\306\312\035\215\030/\347\037\337\336\373\021\203<T\347\203\324\223\274]\357\247\002\002D\325\242~\0373\356 \001\240L2\270\032Jr\335\030\266\346\224\261\341\307#\347WRF(\302\353L\223\354\350\331\004\200W|\">\r&\350\3571\225\334G\003\223\337\023\224w\004\307\343\310\215\031\304G\210\360f\215\2450\361\3334\226\361u*\224L\032\2511\303\014\247\324\272\007G'\307\tU|\366\331\311n\223\220\345W\312\216\215\217\316\216?\366{z\33472\202\266\023S\\I)\360\010t#87>\037\244\262\321\251y?\367\207Hz\320\027D\333\347\317_\314\316\007&Ump\362\005\301\261\177y\313\304\324\304\374\204}+\337\364jbn\202\332\247\210\336\t\005\004W\231\365\005y\023\\z@\365oT\307A\200|\003A\216OF0\355ZC\232\370h<bl\322\033\207\244\304\331\222\226\234\301\265\020o \022\231O\321\244\003\203\320\364\014\372\252\377\372T\023\301I\366\346\007\271J\305\343\220\231\246}\033|\234H-\033i\177\237\247x\226\304\031\210\336\317h^\352\236\030\351G\302\"\247\210[\373GT\261w\306G\016)\231\344\373\252Z\020\367\001\241\020%\0055\366\241u\243\265\216\262\224\257\336\240\233\333\014e\226Dq\3104\374\325\001\021\017H\304\243\351\004\210,8\276\031M\317\205\023IC\241O\242\251)\342\304[\217\243\361\250\271\002TflV\307V\267v*A\214\312\337\347n\241\344\225\334.U<\32160\251[\310|\2358j\275\272\227\361\rZVg\325\343\024M\342\004\r\005\203s\224OF\343\206\263\335\254afV\215'\206\353\235s\351Dr\"m\010\020qV\274\215\022\212P\005\254.\274\214\247BQ\0234\354\357\224\342\210\261\024\312\304\322A\033\264\010#Ne\302\264\027\375\204\225/]\272\344\233\245\235\031%\320\241\025\020\226\351\250\350\277\274_\013\377\n\361\210>\325pan\240K\230\337|\"\021#,7O\230\361\311\313\300\354\330]\037@\244\351\213\021v\3601v )N2""\000R\270\027U\000\347K)\226\274\033\321\260\321\001\236@\353\201\215E\003\036\n\023\037\274t\233\311\346\245\023t0\032\010\023*7\tf\205\025:\027\r\021R:\225H\250~n\260&\345\333 \031\316O\t\255\207\2421L\322\220\357\245i,eb\\\305\362?\021'(\261B{\332\327k\304\327{\t%\010\004\355\305\203zE#|\235\"\201\345[J\244V\351\3754\006M\345\204G\226\210\3308I\300\302pb\331C\227\357\336=t\310\337\367\3402\315h\377\345\007\264\013\336\275\247\271\245\211#\r\251\277\317\177\250waa\241\263\363\320\340\245\007\275w}\203\276!\337;b\274#_\007.\371{\372|\357GF\356\322\r\2649;;G\370\372\2316\334\310\347\257#>\277\357\253*\030\360\335\365=\244'\372(\335\331go3\376s\321w\317\365\207^\335\331y\367P\377\345Ctk\337\027\3325\244\274\177\366\321\376\357\034\364\021\367\353\243\024n;\370\360\335\007QuI\253'mW+\276\320\361\007\372B\221H0\016`F\223\237\0103\266\367\367bu\t\360\030\276\305P\344\256p\273>\032f\025\001\320\033\025\002\240.\017\217\360\322\371B\251\345\014c\3520\251O\276~\325`$L\034!\345a\256>\352|\270\252\305\335\365\t\252\326\277|\1775Mm\235o\356t\325pZ$\354\276U\232\033\211\234\017h\370 \274\275\366\266\260-\322\3253e\303\321\004K6\0237\243\313q6?\320\\1\337\277\353\013\213\302U\345\377\252\200\332|\356\216|\275\310\324%@_\247\305L\342\337\354cn\252\020m\220\010\217\004\260\277\243\203*\006}\303}{\335A\277\272\2306\240\243\221\266\277\240\331^\217\275\322\267\327\035\364/\"<\350\242A0\230\177j\226,N\302\303\3477\342\322,N\372\206\374\242a\360\305\364\370\324\363i\242\031\332c>?\3778\244bT\014NQ\337=_M\325}T\334\343bw\221\277\257\227Z\213\206\350\353]\016/'\010\246\223x\034Z\031\361\r\014DA\373\272\251\363\005\272\022\270\230\340\210\312R\216\252\007\006p\027\032K\333wQ\337%\237\337yW\025\315\324#cz \215\327\337\201\237\213\364\323\241\254,\201\271\271\227\317\307\203s\201\307\343\204\373Gg_\314\241\326a\277\231\230\234\230zB\20288:-\205\217g\307\307\347\237\316\216\007\306\250\342;\215\241zL\277\255\253o\214C\337p\334n\243\237\321\027S\204\365\247\346\271#\236\233\3579\356\305Hj""\201\340\204I\330q-C\3241k\260R\031&\251\251qV_\037nb\254e\276\330\240-\361hkT\214\201\202@\253\r\271\343[^\234\306\306\255a~\210\242@a84\271Lw\274\006.$\346s\264U\350\025\217\216b\032x=\200\364\251\240\303\2539\311\202\242\214\000\003\300\017\215\225$~\320%\235A%\230\245n\023\317\262\267E\207+\247qx\360i\310\\\361\333\240]\017\347\3220\336\345\276_\365\264\246\334\013\213\373H\333MgRqz\310\010\365\203\266'&@)\212\301\327\2447\252R\265\311(\027G\266\333<\204\235\301?l>\355EJ\353\370\312\212\346\273\250-\254\237\277\332\311\316\317_;\253\031\032\276B\264,\223\372\337E\343&)S\006\333:\204\241AA\016\255'\242\021m\317\361\205c\tj\364\376\362\345\177\325\232\250+\225~\337\017\326\211\177\n\371\022\261\244\r\000O\231Z\323_\255\003\354\022d\254\000m\375\312Q\255\004{k\367(\027\313\215\351G\347\372\242\246\360\262H\214\004\231\361\231u\035#\3655x/\026\372\264\365\340\320E\026\210\3522LR\201\307\026T\363\333y\350\322\003\002\340\353QccHl\233}#*\021dc\320}_\217\313v\3423W\022\231X\204\221\311\242\241,\216w}\013\361\316C\013\361\205\370\200\255\302\022I\321\315\316,K\335\373.%d\204\210\366r\1772E,\261\377\262#\351\037\032\350{7\364\336\317Y\377\303\273\224&\220\327\367\360Kt5\031\373\002\244\363\005|-\236I~qr\266 \254f\246\273H\253I\356R\346\212_\004'\365u\r%7#\364/:\224\334\242\277\233D\310\254\r\300~\003L\034\204%*\330m*\372\2762R%t\225\242v:I\234\375\303\202I\350u\250\377\313\345\205\376w\037\372\337\367/\320\210H\316\021\303\352\203\270\2032\337\321m.\230\003\376\205\205\207}]\224\350\3516\351F\252\204\271\230\032\335EZY\024\272\2350\300\326X\306\343f&e\020z\222j6~\340\305\027\375\017;\350\"\313L\211\273}C\375\335\246\3374bK}~nFs.\315\371W\337,&\206\317\246\221\374j\323\020\346*\032\366\251\213\342\315s\317\341J\300\246\326\025U}\237\236P\247\314a4A7\006\335f~GS\"`b3\366\0234\363\320\357q\240,\027\304\374 \365\013\246\357\337\376\271\350\373\217\334\363\037\337Gck#\221\212\270\036\010\037\000-'\2337\037\274\3730\342\357{?\360\216\346\362}\337\336\017T\313\317\026\321\001""\037\021[t)\n\344\017\235 \301\252Y(F\000\371\222\317\030Z\036\272\313\374\243_YH\007}6TC\331\320\320PMo\000\364yC>X\330\030\350[\360\333e\311\020\251w\346\003\230/\341\346\351R\275\261\025\003~\2774R\357&0\222\360\263\221V\275\274_/@\025\270W\2559\003>\247\220 \"\221\354\310Pz5\271\227\tb\210'\341\276\317^\367~{\336P\003\246\257Q\251k\240.lJ\264\300dH;\202\207\224aa\241\274s\325\002-\217l\271\004\r~\357\247.ESf:\310\274\360\256o\277v\261\320\262\271\177\023\330\006\211\t\177\247Qf5\370q\003\252]\220\006\364/\032\023\223t\266\316\230\227Bf8\032%\301k\212l\312\244\227.\335f\251\244\304\217\360A-\022X&@\253c\331\320\347\247E\377\224X]\214\032\201\271\321\211\211\300\"M|(\234V\312,\204V\235\242\241e\242}\341\3544U\213\251P\212p.\254\037{\265M\223\006]\257.\231I\263\315?\300\236.\203\366\033\373e\002&D-Q\247\344\322DQ\244\354\212\317\346\021\361]\333\230\341\312<I%2\311GPi\331Q$\255S\211\217F|:\232T7g\340;\220$\244\314\353P\212}Ou\234\237\354\347$\371\272\024]v$\207\202A\010\227`\320\341\006u$\207\202\254\317\007\323\tRM\360*g\035\251\222\301\270\261\021$\365\236\360\237\253\306\014&\267\022\274\023\234\305\213\3062\3516\254\244\273\212\tO|\224\247\270\212\t@D\252f-\315`\\/\202\267*\032\317\030\265w\323\352m\245\023\256\022\206-\350\261\263T\334N\206mTw\326A1\256\351\255\001A\021\0143/b\032\361T\022\351\3541|\003\313\024\2046T\2774\030]\332\263\"\310hx\357\352\270\261\274Oe&\026\253\255\255\2312c\223\010a\217\201\201\350\261\336\265k\3155\312\240`[\300\230\275{[\205\031\372U\035 B[)o\263X\"\221\334\343=\311-\336]4\265\365\337\300\365\365\313\231\365\327)'6T\247Tx\376\236\017S\326\262\340\212\261Y[\253\034\266\301d:U\377\001\373<\234\235\177\3162\001\351\265%x{2\341\351<\007j\304kK\202\321\010-\016\357\036W\245\t\254\030f~Q-\345\231\017*@T[\301O\004\203J\324\251\004\313\256)5k\213\023\211\217\244CA\367\201\204wV\255\206R\037!\022\234ehC\357%\235\213~\302L\001.\371[\267\355w\352\315X\"\275o#3\031\n\033\242\001\354\373<\342\177{l'\2335\326\024\326'pT\325\356\010\224n\301""\364\\\373,\232&0\346\304\322\222i\270\350\200\244\220'\033\014q(\020\200\275A\272\016\264}\220\240\227\2679[\022C\254\251\212D\230b\330-\342\255\344eY1RFME2\351\260\210{\330/\032h\026\234R~+\354\014\370\007\352\264\243&\365KE\277\331\243\256vz\202\006+\023\365\006)\253Y\313R]u*:\306[\277\304\376\217\357\016\304\216~\n.n\325\324E\211\271\324\216\322+5TY\235\226+\301\345L(U\323\265h\274\336\344Ii\220\024\342Dj\013:\261\031\213\206\215\332V$\030\210\322\210\363\301\226X\267z=\224\332\247I-\355R\341j\350\243\021\0241\t\301\301\276Ko\033L\267\330;\2745\311-\321\332#\265\243rT\321\216b\007\250\267\211Rx\025\035D\352\021\202n\362\375-\243[\326y\210\031Z\252\351\271\t\037\330w\211\004!<AGP\214Y\323\000;\361_\26404\236\374Nu0\231J$C\313\364\250\370\362\367\232\256\210Cn\257f\321t\375\232\245\224\260\323\275\352\305\372\260W\035\324\315\372ul\246\332\253*\221\214j\213a\375&\031\366 \326\257c\326\353\255\312\330\236?o\rv\201cE\366\250\256\263\021\2535\3659\231\243\276\0167\253\326\232\365\252\366\340)\\U\227\207\240\246>\303\250\326|\217i\240\345\346\336\203\335\374\336h7\367\037\356\346>\343\325u\373<|\237)\331\334{N6\353O\312\036\303\334w\210\373\014o\257\316\355\321\261\372\235\212\305k\n\202\204\351\343\253Igy\n\266\t\217\327\311]\217M'\346@\021~\312\nY\313\321U\323\232rsO\315\0015J\242\306\227\022\336\232e\326\357k\021\227\271\267\212\300l\200\331\013k1\265U@}\336\032\030h\030\252\177\017\352\261\371e\237\271\322\006\031W\031\344G\310\204X\217i\0134#%o\243\232ic$XS\240\270\022\3149\316:\007@4U\204\237\ne\326\356\245\251\311\211\251\361\321\025\322\250\247S\211\260a\232l3\030\215% \376\020\027\020\020\257r\375\262\252\225\240^\245vH\263\310\252\333\202\370:\221y\325'9\r\363\034\342\311G\023\361\270\370;\002\213\t8#\244[v\251';k,A\227\250)\245\247K\2317\304\0273-\346\377H45f,f\226\037\303\316\345\215M\033\023\265uZ\243\324)cc\314\240\3720sqeT\031\017\314N\276\345\330\334\361\027\217\371u\343\261X4iF\315\3618\2264\"\317\342\014]\365]\361\365h*\021\307S\345\036\016'\266m<nc""\317c\016f\344H\241h\3541\242z7\243fZ\326\n\331\251D\232#i\245\000\032-\275a\032j\240\224$H3\203\273D\374y\246\216Mb\373\271+\303\266\033\000\033\002a\361\3202\001 \254\235Y\333\346;\325U\363OM]\225$\334UnKBm\235co\273+\231\002\303B^\365\372SUA\335\345\036\025\255\266r\257\342\275:\342Q\311\334\225\032\013\326\016\334\334g\340\346~\003\027\336\025N\304b\240w\302\240u\006\017\230\363\235&\\\024\\I\304\030\307\246\264\177\270^#\342o4\217\356\032\233K\271\2139\004\034+\r\324\3678C2\300P\224\377d|j|6\200\200\333Go9\250v|\366\211(>\264\013\250\261;\350\315\021\233\355\014\323\016\222\262\224&\036\267\032\014\272\213\205\037\271\312\264Z\2459x(\225\nm\331\356\260 AV\021\305\316\233\240\322*\273\224\346\354\300o\316&\252Z\251|A\345+D \rsrWS8W\265\344b\327\234\253V\234\252\364,X>\004\367\307\323\256&\244@\322|~2\234\266\016g\275=D\325)u:\243\366]\325\206b/\203\216e\033\336\366hH\265.u\242n3\230\354\355\007\r\335\023\227\300\003\320_J\315\370\377r\233]\277\224H1\3753\255\377/O\010\231\360'\3305\377\313\255\022O\363\235i\331\343^\030\304i\233_\273\372\375\233\352\266\360,\311>\013\230\334r\332\013\367|\340\376\215\3662\321z[\355a\242\335\243\231{Kx\033\261\305\265\376k\242\361\275+\214T\234\036]\265Xz\233xm\300u\353\353\227;\347\250\266\272\306n\353m\262\327\355\321UR\204\322\262o\353\316?\007*\356\273\257\275-VjZxl\246\316*\310#\341u\262\207\303\365\032\354SeS\353\236\025\365\357\333k>\274u\265w\263Y\320\315u\243v\224G\265\211v\242\324\260d\t\311\320\206CgM\206\303\237\366zo\206->p\3218\261\270\267\205\263\216\017\177\250\210t\345\202\233XE\014\205#\251\344\335\204\262S\341\256j\322\026U\3162\216.\311$!7\235\305X\372d\324\010\273\nMz\303Gc\313Y$\252\000\225\020\210\215\031x\006\315\226t(\216}\023\262\2413\362\233*E;+\225Ij\214=a\006\306\370\030\r\351\360\\\360l\352\305\353\251\240\212r{\364rb\222\206=W\267P\307\244=3\324\235\306\326b\"\224\212\330\257\230\234$\261?99\031\372\264\345p\216z\262\366\304x\313\2651y\222)\236\337\360\234M\r\222d\331\356\002\302\200\017:A\353@\340]""\305&M%\024\224\346Ptu\262\3113l*\231\300,\212dv\347\244Af\225\243\222\364\325\356\367\2139\256\177\241B\035&Y2H\316|A\220\203\370\337\006\267\230~\313T4\375VEwL#\372\022J\207W\303\2306R\253QV\220\344>\321\324\034\363\3408l4\2755N\320+H\272\017$\257\000~U6G\200G\027<5BI\204xKX\202\343\254\020\022\236\254\024IK\036\352\364\226\2504*\343|\016\237H\320'3\252Q\241|,\262\252\230z\262$qA\236\336\322h\274^)\233,\252\307,\345h\337c\301GU\002\327QB\256\227\326{\245\263\314\300\021Jw\221\366\275\271Ku\317j\313\274\257\361x\345\334\225`C$\322\366k\302D\277\222\211\177\254)\306$l\272\354,P\026\366\212\247\323\363\241\016\030m\246Iev\237\300\030s <]\3034\364RNm\n\345H\r(\251N1\237\207p>\007D\271G\025A~\327\221\0136\342\276\342\303\221\336bo\351\034\260\240\347\321\\f?\323\3257\211\022\343r\246J\t\245\235\rEMC\031%lF!\205\311\244;\022C\227\212<p7V\007\237y\223K\251\021\316\244\354\255jG\333\252\034\353\200\252w\304\177h\206\371\230\273\332\347\352\200\207\264\225\264\252\321\207\207\3478\026E\357u\314\347\034?`L\235\355I\244\020\t\0330\267\342a;\034\326\025\033K\033\227fc\331\271\201\035\311z\200\310m\275p\236N\236\333\"\221\"RD\222\272\263\204L\215UU\316I\322\352\346C\213\\\242\3162\253\213\203\277\327\226\330\0345X[\027\024\234P\347&B\227Zu\253S\013'\024\234Gffq^\235\205\236\247iN(99\237\312\030\356\223/&\262R\247\017j\277\254Ytu0ON\014:K\304\002\344*q\244\211r\343&\272\340,T\223\370\222\230\202NJ\377\035\303p$\021\031\344\311\322\274E\014#\211H\227`\260\246\016\232\255F2\236J5\251\336[\344\224\r\313^o\325^\361Qu\333%\2150a\331\240Rw\t\320\246\351e\251zM\021F\345-\307\272\326+CT\215\320k\335Z\241\204\272U2\013Q\303\024;6 \264\243\335t*\264\274\0322kK\306\343\021\027\221\332Nn\025\241]S)\006\252\375Z\250)t\034\325\2532JWc\333\252bf\242\022\340\277\004b\246\333\335\343w\322\271\013C\341k\tA\211\366\265_g\326CY\3162\265r$\311Qj\022\314{D \207\3312S\256\242\323\327$\002\023\033b\225\364\234\204\263\315\231\177\032\251\304Xt=js\310`h\221Z\230\311Pz\305\021a@D\272\207\005\006\305|""\322\035nI\300\240D\252NQU!\227h\261:\025\252\350\177\271\331\271wB\020\272\301\240\276\304\226\023\034\225*\t\216\365\016\305b\365\255\251l\354\213\306\r\263\306\220\3526\235\"\227\016-\233.\243)2\244F}\214&Cq\022\343\364j\271 \241\017\304\233\310l\301\277\035\217\220~O\177E\3451\221r\351\371\200\006\010\260\304\277 \014&!\030\352Di\014\205y~D\201\344\261q\222S&\351\252JH\304\330\213\032s\304\266q\234\246\307\376\022\202H\212&\206\302\211\024\361Z\036<\311X\332\353,\230\224\264\r&\010\223\2046B\340\371\213\213\241\010,)\362\026JE\303\014%\025-\2308i\261h,\301\272\244\354j\353\241\224#\220P\222\230\346xb\321\240\275\022\215/\322s%\332~1\221\2101\01379\306\320\021h\310I\306a\213i\232\245T\350\252\3047\312\021,\030\ni`:S\033\203\350!\030D\370\007\321mI\310P\252I\023i\236U$\014\226\025|(@N\0060\360t$\315\305OW\303\216\017\005\250$]1L\030g\355 \034\204C\247W\302l\263\200#+,\201MX;\275pa6\211+\226\317?\262\312\356=gj\313\217\262(z\rA\3371\202\"\201\375\257O\206\022\214\t.\302g\217w\207C\311(\317a\230\264\261\360\022\367\007}\371\310L\r\301\211\362\214\225\024#`\352\252\300\201\260m&\022d\253\026\3056\010K\226\345\020'\245S\312A\251\375\224B4\246\355\2664\326\215\230\316\210\235\230m\302rhL\021\232\270f\303\265\263-d\246\346Om\010\266\371\326\032~Q\202\331\247\024\267v{\027\331\271({\225\207\016\241\021\346\200\\N\306B[\264{8i\033\n\t'\212y\212\000\260)RF\326\027I^{\261\212\3253\370\2522\332\035\252\357\224\027\313\236\204\231\220\"\272\024\335\324\356\003\272K\311\356=,\326(\256\236\250\321\001:p\261\205\305\363&\206\211Mu\341\336\271d\235\366\276\351+GB\245\r\323ql1h\177/\310U*\353W-\030\372d\246#:\257*\343\304D\365\363\342\021\236\004\261\007i#\031\2076\232\016\033\221\204(J\201\236\013\244eZ\225\211V-\201\312\361z\212\005\331\264\013%\024\3171\355\274me\326T\230\217\272\004?\032[*I\200J\245DF\244tP\263;\270\0310\217\241\236\300\2644/}r+\025]^IK\260\263\352 \217N]d\004\311dP$\035R\372h\206sAd\377I|40R5T\232R\221(\215\201\237\243\3162\270xsx\235\r\341\374\242\010N\375""\341\037oG;A\323K/c\351\006\371\025\201\033V_\230\374\024\371\313\007\207\320-G\327\274\275\364\306k\353<I\005\225\214\2505\345m\310?\312\212-\373L\014\002r\212OV\231\317\320I\001\255\212\023Tc\260q\276Gd)\263g\225\201\r\317\353A\220<T\375`r3\242\250\243zR=b\304 \003#F\222\376\032\260#\204\267\330\024\030t\374\212Y0\022]\216\246\371'\210\343?\2342i\203\331\237\276A\206\355\n\321u\034W\023\250\361\021\020\003\263l\377\360TD\010$F\370\3733\206\021\213.\031\253\032\247\3529\347\022fn\231U\223\255#A\376\225\244w\tD\200\311\257\303n.\354\310P\n$\017O\205\317S\302\304\261\234`P\202\347\20351\3640\312\022@g\333lM\014\275\024` \350\037\273;\330\237[\rrw\205\273\327\211\233\257\211\225\257\215\217\227\222\025\365\001!\207\277X\222I\342\357$\004\251\247\374\033tHw)Q\034Lg\230R\360\261'c\323\010\033\354\305\017\262\213T~\275\241\366\202\324\025^\3473\200\224\226\335K|\001\177A\243$\210\340\307Y\222\210\022\002;DLvt\211\260h\376\325N\002}\025*\260sL\357v.F}\2633\254k 'J\207\276\217V\253\236g\222\312\"\264\255\345\210\221v\335T\017\034\261\003\310\341\005\302\016\021\346\345\3204\025;\013\342\234\243<T\3624\267*\305\307n\201\256\271\247\304\347WX\215S\221\000\266JG\211OF\234mc<\257\374\313)\200\022I\360p8%\014\327>d\3468Y&Iz;\000\213b\326\210\2144R\351\255zeNgfz\377\006\2464`\276\305\230\022\037\357X&\250G\032u<\274\022\\\24194\367u\361V+\025\204\301\214y}\275\373\372~\367\361\367\332U\202\177<Y\361\235{\013iH\365}\270v\251\nf\253\3469\210\315\316J\360\232'\353\215-\374\327\256\375\372\036\330\375\275\256\373xZ\367\364\256\332\025\233\236\271\332\254;Y\233ufk\323;1\233\236\231\331\254N\r\361\202e\334\352\014 \3219\322\374\371\263j{;y\367q\354\356\351\314E\205\346e\216\017\n\261_W1\013a\021\314\234=\356^\227\213w\017\267.\207\372@<zb~\352\271x\235n]\347q\236\352\021\236:\366\314\332\243:{\270y\367\262mq9\264\251\305\255\240\343\200\270]\314\343\337\307\340\345u\031k\203\027\256\032:\223\020\017jN^\233\020e9\310y\255\236:\002b(\221\214F\264\347\302\031/Y\325\224\225\372\243.""\\\207@3\3761\371\240\200\270\232\345W)\036+$|\243K\370U\363\342\364\210R1\372F\227\025\374\243)\303'| \202V\214X\222\246\231\376\022\\!\025'\032\215T\327;\032\331\244\353r\234\304v]\1779\370?\376\221\230\214\262W\025Fa\315\344)\025\207\013O\363\355h\334\325%\315\036h\235\225.\242U\022\326\330\034\372\211N\202\206u:e\2609\312\024\307NP]X\025Ui\326+\242U\327\252\262.hO\020\313SQY\225\035[]\335q.\264\211kC\330l\233\241\260&\235\327\223\202\234\266>pF-$\247\205\027\"\3112\313\311\312u<\201\272\230\316\255_?\032\241~\004\002\rD8\246\242(\225\025\\X\325\027\253\034U5\360\360K]\354\3461\321\270\254N\022\206\"9>\343P2\225\273\314\3554\223\277\3037\203\270\\\273\312\227\233\327\371r\233\177\203nu\315mA\240\215\314 \215\006\351\2560\tY\242\304\244M\026\335D\212Y\252\260\255\2323t67\023U\221\332\321\243\243qbab\020d\366\2002Q\223\2420\2429l\025\310\003;\231\002\000yiM=\303H)\257>'Y?AB\231\323\220NB-\301\255\234I\312\263UZkw\310\256\007\3272\224\242.G\220u}\006\203\n\030U\232\352\273\232x\360\022\316\343\330q\201QSo+R\303\035iX\225\225\362\0355m\316NI\371\254\235$\234\302\033%*\244Z\r_g\3017\227\242\030\206h2&\2409~]\323\010\316\357\232=\255\027p\022\273\210\022\316n\343\223\013\020\205H*\213\266v\035T\217<RJI\202(\314n\251(\2709\222\t\342Z >\242\014<M\177\227\024,\027?\251\277\210\016?~4X\2013I_\374\210\332\217\033\260\254~\334\210\230,\305\\g(k\316MJ\201\020O5hU\304\237\343\304\344\275Xhu1\022z\300_9q\020k\014\210\337c\312\3462G.\rM\323\320\226\0313\266\030\303\007\341\360=8\223x\227\260/\346j\374\303\313D\033\r\3331&\n\255H2\250\236b\363rZ\276Xl\343\207\rc@\345\312\024\306,\003.\027\267\277\306\235sZ\346y\022\035\356\233\275\3345{\225W\237eO\026\347\331\216N\004\212\217\362\342_\034\306!w\000U,\261AK\203.%Wy2eF\305\032$,P~\205W\331\2419b\243\001\275Qj9f\250\035\020\212\255\206\222\253|\324L\037ae\030\300?\332\037D\034*\0353T\221P\246d\260\001\0055D\370B\364\275\032\332\244\277A\376,\003'\300\342Ad\3108>\260\200,\326\002W\347\247\024\220'\262\246\353V\220\0054,\232[\004KMlOX""\032\252\3334\210A\206\224\311[\233v\023\254\265\252\234tC\245\2655\234{]\005F\216\244\320\211.Hp\177$\243\216\343)\352_\215\306\265I=H\374M\016\005\362\034jC{P3\013}\005\211\251\244S\340\251\"\342i\314\271U6^m\214\005q\034\354\250\3756Nm\211-\212\352T\021\335\272K\3535e\365\302U\342\275Mk0u\013\353?\324\256\265\237\245z\300S^-P\022\333[\314\266Xo\241\372X\265\224\256c\262i+(\233\014e\314\345U\334\306++\353\033\224\353\367Nf\327;R\263\347\tl\256\020\t\\7`F\266f\232\204T\334s@\373;\347\265\345\013\343q\004\277\340\223\323f\320V\302%\313\366\026\036 g\365\301L\334c,\007\353FWJDe\304\360DVz\216\032\330.\276\252\257\317s\260\300\025eY'\344\322\033JY?\264\262zr\334s4\201V\211\235\206\370\215'\260\033\342\254\372$\314\250\370\017\355\343\343\014\257\005c\247C\313\016\2572:\004\365Z\306a\367\2161\257\347[/\336\257\271\210\030W\302\234I\314\3768\226\3527\254y\321pP\331\225MV\370P!\362=A\177i$4\241A\022`\t=(;a\342<\033\376\361\032\201\261sFBmt\2361\213\240\"\222\214\021\372k\320\372D\227\203\"\2629)\217\265S&\215!M\n\034q$F\244\334#\346N\211\r\002A0\023\221\334\214y\016\006\257\342\003\332bB\242_HO\306+\365=\361\362\277\031\010\345!\223\306?\265\206H\222d\340\013\032\263\303G\334>b\013\203\313\217e\221\231L$i\302]\337\001H&6\204\267\006\301c\321\023I\020\267\300\205 \202\234\017W\031\361ws\t\0234t\2244\375\254\323\356P\365\352R\325\270\244]\002s\243m\\<\020\376\021\213\257$S\244\353n\2521\nw\337\3733\004\236O\017\324|n`\217\220a;nN\3073\270>EP\023\263Q\367{\004\373}\203\240\372\025\001\357\267\006\334\337\027p\177S\300\373\035\201z\337\016\330\347{\001\336o\0048\276\013\240\277\005P=\377\3578\363_=\321\277\367\331\376\372\221*uN\371\357q\262\337>\315\277\327\t~\367\251}\317q\374=N\347\327\004{\357qD\177\377c\371\236\243\370\372\370\375\336G\356\277\033\223S\367\034~\375\263\367uN\311\357sp\376;\307\357\335g\351\353\235\237\367\236\231\367\236\223\367\234\215\337\343<\274\367\014\274\347\334\273\373\254{\235\363\355\356\263\347\365\316\261\327\236]\367\234W\367\234Qw\237Kw""\2378\337\377\374\271\347\360w\335s\346u\316\226{\317\214\327?C\356=7\3569+\3569\037\3568\337]s\016\334s\366\333y\336\333q\306\333q\256\233C\200\235\347\267\223\312\212\241\242B\264aTAjm\033\025\273(\375B\377\321{wKoV>\364\254\355\245N\303i\206\357Qa+\352\377;\241\2136\232\352W\246\214M\373})\345\341\267\315\347l\030\255ch\025\320\220\334\322&\331\332\377\314B\212\326\305\262\\\265^(\314\211\274NE\323\004\311\340\247\013m\004\331x\22428>\031j:'<\332\242\303\340\352\251^!\275\020E\254\325\326;\017\217\225\262]\334\224a \311\242\315y\3263\250Y\2176\324\246\030J\247\014\301\262\311\255\253.\267\271\372\237m\324E\031\324T\027\222)m\222\244A!\370\230C\276\261\317c\3527XkDQ\025\322\307\264\376\226\2430\203\357\234\342w\236\334Wiu\257C/@(\017\226%e\260\366\241.\221\324\212\251\352\221\340\200]Bt+a\236\220D\"-\220&\005\201\2272\2234\345)V\271M0f\306G\374#\006\036\330mLXU\214$\215\327}\\\326\375\255\000\357\367\001<\307g\203\330Y\212hL1\245\323E\371D\210\337_\275qS\270\276\307\274m\3033O\271\233\020\335\207\217\314\025\264\262C\352\020\260GD\2068G\322\353%\020\001E$@\225\201\207X\225\010b\251D\240\261\372*\201*\341s\360\352\324\217\302\262\360\3008`\255\035\247)\326hQ\177t\350&\3172\377x\"\367\270\214\244\036_\231\324\352\037,\366|EA\262\002.\335_Q\220\017\212\312\257\362R\326;\205\214\303\0050\231\310\032W\317\211\232L\013\230\031Q\013L\025\303\206\253\304\301\251\030v\305\215\234j\017s\022U\302Z\266\375\315N\305\033\271\247\325B\231Y;K\210Y\310\020?v\024\204|\2423\310.\030\271!\263H\177y\024\321t\310\363?\341\261\235\226\206N{\242\372\337Y\221(63@\304!z\317rP\334d\3132\034;a\"\3303\035\222\250H~\264\376\357\272\344\364\265\375\201\177\3112S\226$c\236\372\307\270\235\007\267\251{\253Xi\3068z\366(\r\264E\220)\261\221F\314\027i\021\366)V\301w\232\376\323I\006\001\ns\240\020j\007\326\246j=\250\211\351\342\002]\203H?\266*\323fu}`c\337\257md2BF\332M A\202\340*\324\007\302\376,\0264\027\255\3679\016%rj\017\001\252\377\221\214\003%\344U\216\257\250\306?VANU\341\240\027\300\n+\3418""\304\373\020\354Z\377\374\340\236\037\371\260\217\314{O\025\362\203%\352\215/P\2313\262P\244s\016\337\224\rB\311kW\355\344m\374\223\240\033<\n\377\202:#\234\227\007\252\345\232~\235\375Z\350N.\247\231\253C\316\n\232Wo^\0050\271\212\253\257S\005I\211\233\257W\006c\225\247\234\224\230\332\022\035\201\311|\300Ym\272\2763\260\177|<o\262\352\377\277&{N\233\370\351\312[\033\266Q\375\377U\"L}\221\337\205T\232\003F66$\330\235U\224j\024\264+W\343\337\323\326M\036\220\210>]\024\261O\356\240\304\224#\234\236\217\253z?\361\"Op\302G\222\331\233\214{\202\233\233\233\002\322\235\337~\371\024M\342\177SDL$\376\005\353}r\205+\364\361\240+\013\370\277\004\206\257^\273~\343\346\255\333wB\213\360L-\257D\377\372\030[\215'\222k\304\2243\353\256\377g\264\372\355\352\037\364\031!\253\361J\261a\267\251y\373q\266\303:6R\032)\207\2765\354vu\3576\036\336\276\227\375\222\037\316\007\254\306\201\302\360n\323\341\355\341\335\346\326\354\317\331\220u\362j\261\263\030\370\326\360O\323\017\007\232\267\207\255&4h>\233\273\223\037+\374T\270[\234\331mn\331~\225\035\316>\311\r[\347n\024g\212!\253\361b~\330~\317\325bG\361zq\255\364s)d5\r\027O\024\377.\317\374\363\363\017-]\371\233\2056\274\345\247\354\215\334\301|[\276c\267\365\267\334L.\224[\333m=\231]\247\344_\205\206\302\311b\2035\374\250\334Q\276oM\317Z\263s\352\341\207\267\357f_\347\002\273\315\355\3311\353T\177\241\253\020*\254\3556\377\272\275\316\305\364\200\265\335\246\326l\243\325\336_\350(8oh\265Z;\363\035\371\373\230\212_\267\327\324\363\216lG\262\375TM\275\376#\373W\276!\337\206[\256o\233\331\216\335\346c\331\221\334b\236\247\356\017\353\304\355R\203=C\207\25434>~\020?\331Gw\036\313\007\3623\350\312Z\266\201&\307j\034.\266\241E:{\317\2720R\032.\321,\323\205\213\254c\275\3715\373i\315\326\271K\205\231\335\326\263\271{\3715\313\177\257\024\260g\361^\351qyp'b\315\316[\363\257\255\327o\360\210\253\2457\345\231rtg\215\326\346`3\036q\306:C\017(,\025\237\225\326\313\363;Gw\370-k\337\032*\247\251\2334\353\264\2047\262\277\320\33446o\217g\317\346\002""\271\267\371\320n\343/\337\322\333\322t\267\2615{ ;\233M\345N\362$P\025\365\257e{v;\223\rT\232p\327\321\354\260\314\315\032ff\030O\275\230\277\230\237\311/\027f\013\350\313\201\203\333?m\337\316\336\241\247\317\3546\235\265\316\242O!\272\307:|.\367\210f\362\247\374\265|\210\306\335\334\226m\313vSoZ\316\363\3746\237\317\205*\215\277X\277\234\244\367\037\303\355\225\2463\271\016\273\210\246\361xv>w\314:w\271\220\302\244\266b\206Qs*\177<\037.\234)\36246\345\032*\007O\347\216\346\250\237\347\254s\203\205Gx;\267\245\037\032\3658\255\321\037T&meZ\256n\277\314vd\207\255F^O5\353\327\254k\343\345\031GYO\256\231\356\214\225:\260\276\351\354\203|{~\276\320n]\372\275\334X\236\264\246_Y\257BVh\321Z\014\203\002\323\326\331;\245\266RGE\322\203\205@aF\356\033\336mm\317>\316u\344\356\027~,t\354\266\035\317\316\350\222\007\205\023\205t\361~\271\241\334^\236\251\250\302\021\232\333\371\342\231\322\265R\244\334Qi\302v]\223'\335\245)n=\235k\253\360\217\336\263\375\005\177\261\247\324`\357\341\033\3057\245W\345\352\236V\365V\343\265\"o\324\211\354\214~\334\\\376\000Qo\3531\332\224\r\273\355\247\254S~\332\204m\225\366S\271_\363k\005\271\345\237\346\037\016\266`+\014aby\256hH\315-\273\315G\261]\252?D\322\271g\270\215*A<\223\326\251>l\372\223\3406V\327\357e\335\005\332\251\331I\313w\275\030\300\235\003\240\033\336\035\374r\264\271]\032\256PQ\206\330\314\375Bca\274x\262\324B\024~|g\331z\371j\267\371v\251\271\374xg\310z\363\326z\373\336z\377\241\322t\212\272\337\324\236\rH_'\262\013\371\023\322\221\366\354x\356D.\225?Uh+\364\024\271\340Q6B\223|;\177\243\320P\241i\240=\237\275\225\273\210\231\245\276\236\310.\346~&\256\364\265\360\244x\025\354\356X\366v\356\026\270\325\323\235\206\235\363\330\213o\026\254\205\367\025j\3711\177\276\260Q\\.Q\253\323\330@\273\314jn\024\016\022\333K\227\256\2276\313\353;\363\326\014\335\021\266\302Q+\372\027\321\336\301VbBM<rf\244V{\017mI\305T\003\326q\232\002\253\217\350\210Xu\243\354\272F\364`\204wP\343\201\n\376\036\246\3556L\343\242\251\242\027:8W\013\247\255_""}\371\306\374\230\345\277]\372\261t\2614W\376\251|\265<\303\265\315\333\317s\307s\304\262O\347N\353;?\345\332s\363\3716Y\276\200\224}\311=$\036\033\241}@#;\221K\347\257c\377\266f[\252l\272x\326\272G\334\351\245bg`&D\276\023`\351\240\343\261\\\00360^\330\226\343\355\364\004\333\355\206u\203\266\330?C\340`\272\243\264\300\001\314\363u\260\206\266\354y~]\032r\307.kC\372V\216\231\363\335\334;\220\211\243\2515\360\200vJWyi\347\031\257\317[\246|\353\0041\333\302\341\342\275\322\232\365;d\211\014-\315<\254\345\014\355\237&<\377s\276+\277X\370\2319\326\366\035\352\367\301\374\311\302\001\332\177\247\260\231w\233\217g\337\320\230\026\251\243,~\002\304-7 \265*4\237\255\355V{w\236\267\344Ibs7\255\276G\324\215\020\366\323\255\\/q\213\017\314\242 (~\311\247\n\247\210.\276\224\207\035L\3419\265\231\311cWY\315\347\210\003\276\323\035\271\213-\212\355\273\224\013X\277\335+=%z\357\261\246?X\037\202\025\315\215\351\271]\371G\324\371Fby+\305PE\004\034\te\022p\326\021\237\345c\000p4\353'r\277iu\260`r\312\372{\245'\345a\233\213\334)\235\304\006%\002\2544\321\272X]\220\356Kh\202\235\365\324:GO+\266\027\337\225\033\224\224\001'=J\362\341F\256\211\204\307Q\"\374&jq\264x\243\324D\374\254\r\364\0136K\034\237\330(I\301\233\326M\332C\232\203\020\303!\302\233\021\021L\033R\365#\273E\317:\221\337 \001\277Nll\246\264T\266\305\"\2360mM\323=\247s<\224\033D\261\243\271L\376q\341ba\306&\021\360\215\3074\375mX\207;\3269\032w\261\273\270F\254\341x\017-\326\3613\271\036Z\254\0074\226\371R{ia\347,Q1\261\225\177\016\375p\342\344n\373\361J\323\311l&\367G~\265X\025|-\3626b\037\347\224\020m:f\035\353\261z\036\224B\245O\326\004\311\200ekyEx\326\037\326\371kr\357\rB;4\335'\255\223\227\013&\263h\222h/s\335\326\005\325`\230\344gK;\311\316\027\205\341\302X\261\2714i=\375\217\365\037\222*K\326\3222\3366f\371\200@\364\376\202x\320`\013\335\"\226\325\332\246\3707\315I\353\361\354\007Z\207C\264q[y\206\036\346\272r!\265\340Y\"\216\337\313-;Ab_Lq\340V7\013'\255+c4\307\347\273\362O\nw\212\264N\004\241p\353\255l/=\221^""\274\221\rc\245*\214\262@u=\371\210\240,\320\361M\354o\253\361Vqm\327O|\253b/\313\247B{\341eq\200\370\317\001\022mz\nu\315|\3618Q\254\342X@\033\350d#m\257\031\233F\221{\225\273\232\233\261'_\312x\002\357\023\327m\305\336\\(\260 \264+@\363\272Bn\3749\273\234\343\335t\220\272\352\317w\346\307\013\307\013\253\204\314\306\211H[\2162$\251\276\\\3137\221_\227\013k\204Hyt<\332a\001_#4%\247\201\202*$\334\376\013\006N\024\251\330\n\344\335fn]@\341V\2561\3674?Qx[\374H/#\250G\333\376\0021\017\372I\021\210\t\345\377\006\204\256\310\220\201\013ZN\345~\3121\213\370D\275\355\201P9\215\331\267\316S\037J\r\025\235\023\250\201[@t\233\220\260\232u_\223\025?\222\343\371\005\032Q\342\343X;\004\320\241\335\346#\333\241\355u\3538\370\343\241\342 o\261#\264\316\326\t\310\242#\030\347U\353x\267\325\215a3\262md\302\243\007c\\x\310qb]mV\347\325b?\261&\336\240\317h\233\377\222[S([\311\245\333\331k\331\220\360\273;\271'\324\305\3263L\220\\\245\370\371\210<\265\302\"\002\324t\221\304\321IBJ\275\264o\007K\177\355\320\374\337\266nO\356\020 =\232\355\002G\004Rd\310\017\374\014\025\005]j\331\036#\371\364\232';\204\216\237B\177\210o?\241\275\025@'\376\233\213\320\352\217\021,h\355\310\263H\301\353\372\t\300\277&\260\366\212\321\037q\357\346\337\360\374k\305kx\214<y\2246\301\n\246U?\363\031q\247\371\322\205\235F\0269\337y\224\320\326\034\355\320\343\030\373\311\254\231\353\246\2474`\310c\2623w\233\016n\237\200\n\301+\204$\003,\202O`m\014\361I\342\020\312!\240<\016\355)\177\253\320I\020\345z\361S\271\r4\331b\341]\271\217\205s\305\031\353\346\037;\204\033!6Y\000\237\315O\026\233J\r\2456\241H\320\027\240\316\205\334\246`$\306@\326\261\356\374\034\351x\303\205\251R'\251\"\255m\025&B\002\346\330\371_\010\304\207iG\265\002i\265\235\005-TZ\t/*\252\264S\n\311\214\02254\321<M\026\017Zw\300\263\255\031\0005\353\203\006\314L\354\304\337\246\254\376\207%bm\347\255\363\340\323\0356,\"\016i]\177R\316\354T\221\322\223\362\332\316O;\303\326\244\260\310E7l\"\361\332^\234\321\035\010\354z\022V\373hy\270\034(\277\343""\316\274d\034\251Z\250\355\247\232A\203\345\245\337%Ty\304\352\201\362\246U\255\220Z'\253\225r\326P\240|\274\034\262\227\316\221\250>\217 \251^Q\253\025\313\331a\r\020)\357\274\262\346\346]\213\336l\035\356 !:\374\317\221\037Z\216h\025;7au\217\220\036\360\227\365\324\2368\335\351\352\370@\331a\210\273\266\354\tb\362\247X-\337\335k\"\210\024\337\221\214m\317\317\324{\2267\341\350\232\322\342Z\252\235#\202\001\026\374\251x\327\272\377bg\315\232\216Y\261Uk5i%\327\254\265\324\277y|\345\377\322\313J\315f\341\365(\204\231\200j\226\203\025_ \334\232\032\022\371\236\301\261tc\256l\335|\261c\302\0021\367\247\365'!~\3232\323\366\213\211#\221\n\022\000\263\333\312\375\210\335\314|\302j\3661z\311\320\316\034vH\255f\260,\253\261\313\352\032)\335)\007\252\251\335\246N\202\237!~/\254\032\037K\347\312\257vn\023m\360\274\273\321\371\021b_$\327\317\212n\271P:\305:\243\222\226V+\350v\204\340H\032\200\215\320\311 :Q\034\243=\351\000\214\020\371#\204\255\322\305\207\345K;[\326\033l\245\335=\033\254I\325:\251\341\355,C\355\006\326\345\261\362sk\206\0240\336\211\334\014\302\016L\336\325l\024\246\234\231:\257\260.O\354\374f\275z]\267\212\360z\320\n\376\247n\335\213\235\257P\300\034U\275\242\253\222Lt\232*\260:\353\004\327\025\267e\215\360Gb\247\014=TkBA\347s\202\277\177c0j5\2135\213\227\222\257\027 \324\350\312\260\250y\373En\330\231\235\020\314@\245\212\002 Y\024\270\342\253\316C\023\306\265+\037p=\026\372C\275r\342h\372Z\001\234\277\2001\340US\271\216o\201o\201\335\247\023\377\264C\2354\001`\240\270\267\024g\354I\201\002F\240;?Oo%e^%!\212\232h\221\350M\007\3779\312\272h\226\321|*{\234\241\367\217\371nL%=}\342\017\207\374n\2510\370\021\214\311d\335H\362\377\030\001\251v\022\266aB\3213\245\020\303\321\263\244W\017S\371\331b\200\344#+P\355\331?r\t\330\271Ndc4'\355\367J\001X'\312/\210\312\255y\242?\3032\004\355\332\302I\265\204\236m\275'\3359bE\376\262\376\372h}\334\26066\265\031\212z\237!]~5\1775?S\251\202\355c\242\032\003\330]\314\316\330y\0005\326\333D\211{\223\323;\307.n\315\036\312\r""\221.\365\030\340\371T\3560\215\343y\361X\361\tLx4!N\225\n\200\213\247\234\264\265o\262l\277Y\277\261\374B\226\r\221\003\214:l`\264\256\226\031\313\370kA`\3227f _\210\223\216\3451\347$\261\217Ro\377\0003\027hN\372\324I\022\334'J\033\345Py}gfg\2056\214\365\232\346\303\330=z\"k\344\256[\027.\0276\210\3337\035\3316\034\226:Z\261\323bS\323\210\366a\276\207\230\3659\350t\326\275\251\235\320\316Z\005\375\271I\222n\235\270\267\365\202\366[\312J\231l\203\333m\352b\263\246\244yg0\322\004\275\317\321\032\335\312\017\026\014\350\266\355\014\232\2331!&5%X\273A\n\351/\005F\270\231\374\024\361\244a\030z\027@\021\320SFXR\265\237%H\272Hh\343Za\261\370c\261\223\330\324O\245a\353\036\215\2158\312\237\273\247\206y\334m\304\240O\367\020\345\036\245\206\264\363\377\330\351$8\000\033\357n\373\245\302l!E\255~,\365\226\217\0229M\021\257\256\264_T\270h\330\205\255\034\260\361l\356&\341\356e\326Lf\300\377{\363F\201Q\375@\241\277\030@\2427\377Q\331\255[\17788T\230\251\270\304\271\215\023\030\017X\227\005\334\300H\013\022[\243\311y\210\007)M\321\352!XTaM\213\361\023\365\274\231\224\000R\202\322l\223\256#\007/\344LjM\0038l\035V\206\322\357\275Z\304n\\\000b{\356\317\374g\214\216\337\264\333|\275\030\200\202t8w\277p\260\330f]}\276\303\006?XVH\331m%\302\035\"~\237\"\360\364g)\245\224\024\352\337\027(\203\305\005\024@\250\235.\014\300t3[\246\225=\227\033\005\331\255A\323\352Q\243\"@\331\336\221?C\353$R\3704\335du\220\352\n\255\350\"\017\037\360\331:u\2510\007\033\377\344\316\350\316\006\270\277c:~$j\271WZ\253?)k\274\014T\364O\217\006H\337\235\020Q\3052 \345|\024\375\245\256u\025#\245n\353!5}\255\215E\352!\260o\234\267\036\316\2139`\237\005\264{Uo%\353\301\025%\016\232[\254\226!6l\2605\256\271\005{\236\005\025o3z\237\3266\300\323\327\331\354\364\023\3744\371\267t\327f\321,u\225\214\362u\353\t!\022\301\277\342uh\205V\222\022O\004\217\323\006\373\\\0133S[~\240\360\232\250\262\035]\246\313Ib\366\315\205\261bc\361\017\202\014\353\345\231\335S\027r\177\027>\020\263\033+\377B8\373\2405\363\316z\307\366""\246\343\375\205>\353\332\2305F3Ce\013\273\247:\362\247\230\363\207\220l\333=u\032\375n\313\036\200,\204\361$\000\013\r\351:(>E\352\347M\366\367\320\216\034\205\222\t\037\010-\314\337V\367\335R\007\300\365)X\\w[\301r\026\230xH\177\237a\245\206n\330bsl\332\272x_l\332\247s\347\363\177[7\210\212wX\263dz|\214\035\243\036d]\030/\277\336\t(\223\211\256\223\204uqb\347$\340\210.G\017\317\302\370k\235\207\223\341\030\221\374>\034s\327\3151Iv\t*\0241m\365\335\023I\301<\235D\254rW\261U{\367\327VG\366d\261\321\272\016\253K+\030aL\371\224\224(\021da5\263oN\362J\303\353Q\246B\202(h{\220=\034\374\363- \206\211\253\333s(Q\350\3473+\355\321|\272p\213\350>T\277Q\nB\307\3638\347\203!\317\016[g\331b%C\022\337\200\032\0214\275F\366\264\021@]fk&%\177%1w\260\320\246\206U\201c\346Z\361jq\216\tS\241-\255\254N\354P\321\211l\304:s]q\034\334E\014\353\2528\006D\025\226\277pW\315dCZX^\003\177gw\242\237&M$\"\360\223\022\206LpT\246M\236\331\377\346\227\240\236\303\262_4\254\021(b\332G\003\220@\323\323v\3246\210\016Z\203\017\010\326\260B\260\006\345\252\215i\024\360\004\224\335\002\364D\275q\373b.\363\356f0\3162\350iv\"\367\212\366\360\230\345W\004\354#\224\005\341~\036\372\262\273c\357\255\273L\327xz\233\325J\333\303\032\231\202\317c\305Z\211V\232i\022\357\010\246\372u\373\357\334k\206_\037H;\\\246\355\333z\236\264\203\036\2464\242)\232\004\313'j`+$\0361g\340\311S\027\255\213Du\345\271\235\006\265\340$\007\254\223\002U~m\2554\301\247q\206r\023\305\267\245\304\016\357\204\000\230\030\230\310S\360\r0\2526X_9u\034\030\343\217\274v\255U\264'\002\246\235\234\215\242\363\027\224\363\365\233\362.|fo\213\370#\376\310\306\031\370\302O\360\315\366>\214(mL\371HY/\232)\177\264ff+\336\302U\202\221\337\002\025\365\340.\232\205\376\3023v\277|\331\031a\264\364\006\017\372%\253\035\030\342\245\201\276\227\242\371\233)D\212C\354~\233\337i\333\351\202\317\225`'\341Q\001\234\t+\361\311\372\364\331\372\374EwnMM\032t\260\371\"-<\213R\335\0036;5\346\236\027\332\024\3779a\235x\\\016\357\264C\341'\266M\014U\360\254\001qI""\032\t\320\371\317\264o\336\303<\\\202\r\261\355$\320/v8\253\247\332\267\303H\013`\274-{\201\025\343w\305\003\220#m\331\223\312&\305\022gf{9;\243\373j\022\356\371+o\023\331\006\320\204\256K\213\017\257\211m\006\271\006\255\n\3456\363\233\005\326f\177\335^b\233jg\356\261\325\311L\257\004\307\002J\335\317\250T\355\300\016\223p\305iI\345\204m\221\nl/\020\023\337*\376L\017M[#\317vn\322\302\302\023\330\313\317hf\357\003\324\204\017;\017\010\rZ\177\302\266n{-\300\210Z\365\206\313\256\261\023\006\244\276R\n\251\302\335\326\243\364>Z\243\333\314nZ\241\002\020\343\025\223)[\266;\340\350\213\300\274*\252\365A\330\316%\n\341#\311\370.k\210\315\031\366D~b\377\016<\241-\355\325\0077\211\017\365\225u\221\363\322X\251!\342+C\217,\030\033\363\244\030\374s\004\313Y\365\t\370\013G\340<\024\017\007\210\245\211\270\251u\0220\244Mt\327\327\271\t0\324\212v\261}eo\307X\341P\361\242\322\256\030\310}\242\347w\203\224\330\371\376\262\330a]SZw3|\035\360\360\362\304\374ED\362\270\320!\356\002(Z\300\177v\032\006U\210\363\374\305\374\313BG\341F\261\205\326\273\263\207\260\362\253\342p\021\320\344t'\327.\210?\305Q\007\237\nmijr\374<\361\245\321\374'\032A;\014\317\303\004\016\300&(\013-\3428\000\352) \025\344\347\351q\275\202\036\211\245\022Rc\214w\223\010\272\201=\3120\r\313\224\362\356E\311]\321\333\224o\302SrR\234t\252\024ShB\007\324\353\302\"\217t\330Ju\003\277\024\205M\034\023c2SX\324\207\354\307m\002\300mg\017m\236\243T\200l\252\023v\226\205\"\324\032jCO\333m\207\257T@\024gl\212\370\205gBG\214\234\222@\230\303\204\304\236R\177[\332\330@5#\356\316\317\374\346F\016\036h\002\3332s=\226\357\016Tl\331H\203@C$>\216\027\226\213\257J\267\312\335\244\027\276\001^\325>\304\227jNU\336\301yof\2171>\255Z\246\2046\273%(\245\246\010\256\037\345\361\357\027\226\313:\037\027\323\210\020\023\004+=ij<\005\020#\217D!\226w\215\345\032\\\020\210\006\010\201\235\311=QX\272\273\260&k\3623i\205\307!Gh\253V\364<\235.\260\177`\030\274\025\323u\213\246\346N!\240b\005\010\003\201\230\345m\267$n\347a\276\023\\\220\357""\331\035\274U\314\224\002\326}qR\353h\204B5\334\203\371\201\334\257\354\034l\223>\2011\023W\264Nrs\274\373\000\373\200\215\374u\360Fb\273\363\245S\3456\232y\236\266k\333!\232\220E\320\025\217\025\260\215h%e\235\036(\\%\n\203r\373c\311_\356,\217#D\007\255\236\020*[\001\226SK\303\006\003\245q\213\307\274\327\266\"\361b\002\267\265\332\000QV\331O\323\267Q\\-\363\374P\351 #\233\373\345\203;m\216v\204=\254F\252R\010R\212n!\024\202\033\021/~\0176\010U\355\307RwiM=\354\\.`\363mx\r\233\tP#\276B\331\001\020\222B\372~\245\005\336\000\302r\357\n\315\214\234u^R\025;\305\3761\021\215pr#\274\254\345<6.\274Y\342\316Wo\273\006\341g]\274\006E\260\334\310Z=\013NR<`\020\264\376C\242\231\3442\024\274o\254.\035\345\335\363\276\340w\202\350\355G,\274\026HL\316\022\372\275]\254\002\\\236\351G\244\342\013$\207of\212-\213\321\342\232\rW\001k\377\253\275\234\314|A\230L\326G\355\3705%\002\021\036\002\364\311\204C#~M\3538\013B\261\256L\356<F\334\001\321\325\034f\243\266\301\323\235\237w\230\356^\323\030f\331\037\323B\273z\030\001-?Yg\331\245\202)\307\355M\264\305\330\320\211\356=\023k`\253\230\357>\013\334:\312<\260\001:\330\232`\317\247\"@lq\204\315\233b.\320*\357\0044\025#M\333\321l\217\370\220\217e\357\363\356\353!\001\275L2x\270\242\314:\254K\302\266&\216hv\010\263v\266\006\025\364\220\350Y\320*\010\034\366\262\225e\246\322\316.\3173\271>\350\261P\325\344\235\001\221\\\033\324%j<\230\017Y\275\367\260Y\235&?\243\322\n\261\262P8]\354'00#\326\305[\020\027\347h\\\257\n\303\220^w\210\211N\026\217\224\252\017\n\224\333\254G\342\"\002p \350,/K\021w\026\255D\267|T\356\260F\341U\221\360\034B|\010]\td\337\302\322\216\301\310$1\301+\026q\024q\203,\352H\226\337\247\t;M\250\373g\342\305\037\312\303X\2301m#}\3101F\303UC\237\365k\027I\306\014\355\322w\245\237JWK\263\245T\371X\371QY\251ep_\036\002\257G\230F+\214\246KV\327M\000xN\347\003\266\027\337FB\210\223\264U\033E\370U\177\342.\024\307\302Mk\370\217\235\016FX\332\245 \250\315j\371M(BY?\300\242O\024\326\234v\014\253\345|\316\345G\022\317o`W\302\255""\330h\201\345\025\033\3061\201zO\205\355\213\360gaz\033\024\000v\375\202\375j\233\245\215\362\342N\023k\341\335\371\031\030X6\341\001\354\301\212\334\001g\005l\351\310\335e\357R{aFg\337\000o\027;\340\204i'\234\273\002\267>!\254\256n\002\3170w\r^\262.\335/\275\333i\330\035\030,\274@\274\353\356\305\256\374S\322\006\326v;:\363}\205\021\232\315\236^\332y\237K\035^\237i1^\206_\311:xZ\300\253\327UT\251\016M\211Hx\377\3534\253u\006V\023\326A\2363\273\3559\302s\214\334\353\232\034\004\202:\255\264\323\3264\221\352\272\265\276!\274\257E\271\007j\335\310\314\265\330\364\014r\244%\374\263\232\224\325\364v\313\365\024\3662\220\200g+\312g\366\310\267\261\214g\323\353q\3538\223V\361<\033\014\333\331\252\007\347h\373q~\032\2734\276\337\021\253\205\243\003\367\353\320S\370v\273\005\2776\252\340\027\247\337s\215QT\200c\367\262g\252IQi\274\244lc\377z\017\373\327M<\373\354\002T\355\000\210\226\350\002\233\350x\241\352O\322\241\217\330\307\366\370\252\326\214\226\355w\230\213o*\324\366D\325\224\3623#\254[\242\007\332\222X\032j\255\212\245\264\243\326\0066\n\0329n\333\255Q\306\366\251D$\300\014\354\021{\274\027\221|\337\252\261\312\303lT\245\355\203\320\331\313\205\257\2160fP\311\365\302\337\244\343,\223\246\036!>t\333\232{c\207mZ\037\300\345\253\035\270\221k\250\355\226<\345f\261M\364\341\026\256\276\223{\224\013\3553\250\375\206\371\177\277\267\037\321XW\240\266V\361\373\030\300K\365\341\367a\334qe\244N\"[:\324\266\225\254\270\017\347sm\272\t[M\030\255)H(\246\302\006a\253\001\222EO\004\000\363\322?\312-C\025s\200\036\216\353U\340\271\315]\304*L\265\250\352h\304FW\016\314o*\036>d5\236\323\261\361!\005OI\004\321\336@\360\332 \303\242\233\305\343\210\346\373igx\207\001y&;n\235\346h\034Bt\326o\016o<B\270\317jh\253\242\3268\000i\315\025\207\324\340*D\2545 \326\021\261\376\211\204l\223n\210\rb\214}\3157t\210/OCF\034\001+\210\265r\216\3011Ev\264\277\254\320\210\266\210`\210\300T\315\205\307\305^R\266^\263\265\233H\225\341C\365~0\262\003\2717\320\220\275\005}E5\203\223\271\006\235\000\334""\235\261Ks\307\t\365\033\205ao\301\235\242\332\306\317s\277\321:\255C\251\326\005m\271n\202\205\204\032\244\200\226)7N\032$\264\277\367e\364\341\341\357\254\034X\277v\346\0070\377\007U\034$q.X\364DY\333\020\375\312\352\275[\252\242dh;\210\364\004\257 \210|\275h\226\372\313\001G8\261\3556\223\020\241N\300\306v^\2026\000\344\224\204&\220 $A]\301i\016]m\273\346Yq\367\260\016\321\231\026\305\276|\210\250\257\345\210JQ\247ho\314\320\017\203\223j\266\372\243*\020\346}\202\315a-\355\022:\330@\334\363+\001\301F>\0141\007\312\024\303\316)1\276\330Fg#\177\273p\243\370\213u\353\331\316\rk\032:\205\243r\tq\252\227\n\301\222\263\350\tQ\373\311\322A\320Tuk\366\261\355p\245\030\322N\376|\177a\\(\036\020\273\215\300\364\257\254-\202\026\006\357Y\367$\002\031\026\352[\034\275\325Sl*\265\224gTXa\366y\376d\241Av\3223\353\002\237@\370\336J\016\224\337\354\3148V\323\275\317\254c\014\250`\231j\007\210\337y\302\376\366\227\365\333\016\261\203i\255\324X\232\".}\213\265\256y\335\264M,\351\233\034\233\333\356\224\306\267\363w\201\271fD\257\300Q\021\035\203t\027Adnd\302\330\312\336\376\264\357\265/L\307TA\003\006\252\377ww\261\266\356\271\225\333#\375\241\370\2004\364\216:\217\312u\374_{\005\242\206A\244\212\r*.\230\300\264\311\341\270\260@\335\264p\010\247x\263\324\346\205\330.{i\255\221\324Q)\306\360*\304\257/\232\354%\322\370\224\033o\346>\311A\002\325\342B\241Amy0\255Mv2\337#\372l.M\224\377\334YS\346j(nm\371\256\374_0BVTV\013\010\2071\t\222\240\3036\032\235\315\335\310\037*\\\"\006r\021\264p\324:\212 \032\366R\314\345\2315\274\262.\336\225\260BV\035\255\263\244\237\311\301\231s\271g\371\024\203\246Vm\tj\023\243x\310\272p\2438[\\\253H.\247l\345\210\275W\211\257|\326\247\032\026\255:\327\226m\027\323\251\212\244\227\320\315\343\331W\274\365\256\347\355\350\013\377C\353!a\021\216>\241\255\271,\034\300\031D\001\265\266\013>U\022~\326\361ak\3701\007b\300\340\206hT\030\343\376.\274/\331\273\276\213\336\225(\374I31\010\274S\021{9&\213\246\210\004\017\250\350\201\360\315\n\361\327\3134\273\227p""\270\211\020\024\333\257\245\210\371\325\301\355\343,\020\333;\255\316[\305\257\345\300?\267\1778x\2369\330\260\323]\010\243}\206\324\234\361\342ID\311\216[3\320}\035\225\353\371\031Gn\023\347%FJL9G\266\303\334\347\220\315\264\330|\245 F\007X\222\303\207\007\213\371`\236\271\373=\002\247\022\r<\233_\0236%t\263\314L\361\2572\023\305U\231\317<\2336\257\"<\233$l\213>\025\205\002\241\256Vi\032\345\370\254\336b\233\234\347\243\215t\372|.\016\267\030\315\357\251\323\254\2757@w\307c\016A\021\201\362\t\243\036\014\317\3603_\265\215\237\247NW\330\376|\203\304\333#\022\261\267\330\306qJ\3213\374k'hO@6\364\024\330.|O\207W1\235c\270\262r\332\345a'D\367\031\266sC|\024Q7\202,\376\265\376\215\377_\022XU\017!\177\315\211\365a\210 \003M={&\005K\377\272\275*\001D\210\344\250w\030f4\253\303\250\005\360^\315\275\312?,vh7\307mf\t\315\274\r\254\0137\213\213rT\322\266w;N\313\260\251\212\004\304u\3615\271\017\270\34488,A\030\352ba\336\032\036C\204d\240\374\333N\202t\004\355\357&\220\322k\r\217\223\300\324\007\025\304\323\276f5\022\203\256\010\215bP\255l\r\273\227\327\333\243\203\327\370\227\302\232\200\310\326\3555\347\331>>\342$\021\362\221B'\307~\2510\264\033\371\237\010^\376\302R\221\r_Ox\3707\013g\213c$&\003\216\010.\304\307O\346\177\316\353M\007<{\240\360\246\370\262\324[>\275\243\301\007\341m\351_\325Wf\375\332\221?'\201\304m\242T6\020\353Z\340\235TUQ\274w\321\000\331zu\277d\207*\\\347\363\274c\205\006\207\204\370\265\316-\277\227\033\366\276E\317\237b\004\232P\232\034e\354\357\020%\006ep\324\360\314\334\244a\374YL\227\304\376\367\215\327#\225=\005\2778\214F\207\217l\277$\370\310g\206\207\213G\213w\020'\241_v\"\253N\266\364\344\217\320z\\\202-\010qb\021L\202L\260\250\003=\302\035t\321\260\235\000\376\317u\345\226\255\356\033|\244\347\r|\271\337\264\311\033g\257\322\005\325)\330\276l;\260l]e\005\226\354\2468$\035f;\271\005\376\355C\314[p,\316\017\206\217\035\307\033\344\004\237'\274\303\252\340I\0041I\314#b!\"\205n\020\220\030\332\337*M\204)\326~\362\341\355\021}>\245!{&w\327\352\306A""`\316]\310\037\262\372\021\202\320\0143\347(q\333y\361H \274\001\300\360\272\204\025\212\037_m4\014G\237\355l\340`\256\nGt\261\335\235O\233\336\000\371\ntA\024\367\023D\325b\005&\031\335\275)\314T3\257\013\201=2\177\026\326\354\014\007\3628r|6\307]\307&M\034*P\241\rX\2245\341\274\366:^\303<\352\214C]V\264o\235\271R\374\205hl\204$\260\2754\267\340\274\250f\372\3626\025#\333\205\031Q\306\327\013\2714\224\347\302k\332\276\207q\022@\337u\217\317\014!&X\227\334\207\257\267\032\353K\027\305N\024%\262;\334q;\233\351\277\005\034\207X\333\013\013\326\035\016\031\252-\226\3702\2704\234u*\330a\220\315\303\207\313\3035u\271)\022;#\305\250\270h\364\236\030(\314\"\374\323\356L\3563\267\n;\017\266\331\217\352U\261\275\272\337\227\225zR\255\375\271\360\261\324\346(I\027TGp@\213\031\324\201\354{\332\227\240\353Lq\222\270\t\203\266\003\342\275|\310g\2538$\342\006t`8\274[\267\327\351\216\213\034\210l\0339n\346\265\213\312\247O\373m\007v\253^\006\366!\374&GI\345\244*\034\304\273\244t\311\376j\037\262\206f\254\031V\251\3325Fm\207AC\00762\331;\\\021!<\0010\020\320\302j\274l]\036\265F9\372\017\270\216\036W\345\214nC\204\034\331wZ*\032\255A\304&\314\361\031G\2560\345@t\325p\301!\375\310\362\2716u\357%\234\033o\220\343U#\022r\334b5\236\264N\016X\003c\345\200+h\334\021\213\276\335\260\333I\325\025\016\010\347\243\036\3138q\372\233\365\333\235\322\371\362\332\316\021\353\025\242\364T@\222:\203\013\347\373:3\000\000\241\263\271\373\205\006i\260\016W\222\004\013u\344\037\340\214k\245\365\274\234n\245\375\215\003\003\217K}e>!\333&Q\0218\331tLB\177X\204<)\257YO\305M\003\237I\205\003\333\233\331g\244\216\016*\225R\216\213~\240\255\366\204\264\3171;L\326j|R\376\244\216\0035r\224\273\262/a\037buU\344\362|\376\002e/\026\225OT>P\300\374\363\007\322\031\330\224Qq|\312\240\"\337.\320\3127L\314\272d\r\0070*\215\007\200qD\237>\334\214\362\377\302T!E7\362M\264?\217A\205\227\363\325\274B\264<\331\277\363A\034\276\262\215u\302\313_\002\363(\363\222\035\236\001\375\334dc9\230\345\243B\030\361\204\" a\265\371""\r\000\254($X\261K/\020S[\223C\032\303\312b\222kDP\225]\202\310\204\006e%\341tE'`\220xQ\032v8{aW\370\245\270\205\203\274]\371\027\3265&,\330q\242\204o\017\027\344dH\027G\224\256\340\020\004\023\332Y\t\232c\272\233\315\245\362mv\344\201\204\252\333\021\030\320#\217*E\313j\354\316W\317\033\340X\337Gl}\225\250\n\331^;V\220\263\266iY\305T\377\231\325G\006/\025fp&\001^5\004P\235,6\026\003\366\261\027\211\356<\310(\240\t'2\331\326\3502\321\264YM\204\246\330\034Qa\217\353\001\371\274\010\177\243c\214\000\231}\222h\224\026\365O9\330\311\256\n\032\226uZ\237\317\200\331\260E\234\tOp\264\300\235\261G\316\021\213\332tz=\367\211\004s/!\033\307\334\010p\202\030\362\0038(\270\207\0014\026\246J\002\377`\226M\213\217\371V\266\217\236\263\301A\020l\201W\"\324\352\000\250\241\235\256\306\354\026\n\317\351\275\376b\207\325(\346%\204\365\376\254>\215A\303\372`]\034)q\334U;)\277\254\277\213\236\360\032\247\312\257J\240\320\2605\246\334\244\3736Tg\356\254\306\337\255\337!\274\020\016\360\014\032\372\214#\272fX\316\323\376M\354\036\032\275\267d\265t\275\224.\337\3309l\315\021' &\002\023\000xM;\302>\330\305n\1775B>\213R\370\251p\203\370\310o\245\220Mj\035\304\316\rk\340ai\r\007\213\253\200\327\327\261\353\353\303k\211d}\335\371\227\002\235|]\371g\262\324\277\345\376$A\023)\366\227\376\000\202(\264mS!5\201-\361L\356\274\325\313_i9(\037\266\260\216vY]|\374U\177\336B\014\367\256\257` \204\344hi\330jTE\352,\320\2046\262(\373\372\000\354\243p\215\374\227^vH\354\330\254.\344\371[+l\032R:\230\322\321k\r=\352\353*\372\254\027Q\302\267\006\332-\007\332\010\227\212m\244\021u\264j\2021\251\030\207\362\333\254\306\210\025A\004#B-\316Z]\327%\300\371\204\360\003k\200\235\356\3524\210\315n\002\2717\260x\025\236\3011\313\337Nxe\275\022a\251;\320\311[\322\333\313{`\036\324\261\326\037\016\374\272\275\234}\203P\007g\307\216XG8\016\376Ln\210\261\362\341\322\235\362hys\007\037\023hv\335\2438\367\206\204\205\311\247\004f\266\227\324DQ\363#h\276\302\332\243\304M`\177\253/\016\300vj5\236\027>\244:{\203\260\315b""\361'\330\343\260\3678\334X>\236\363\250\030\332\325\347\257_\251\257\327T\330Z\304\233\371\023\254\004\020\004\237\363\203\204\216\316\226\237\311\2518\025\017\240b\201O\022\206\177\t\341-~!\370i\036\027;tl\306M\216\246h\250\311\342C;[\271\0069>|\234\370\3308\001\364L\361)-\312\017=\371\230u\025\3761\313X\302\227\026N(\303\003\311\261\177\0365\310\327\231\210\360\022\245\031\211+Ta\263V\3578\302{A\262Cy\265'\025\364F\324d\355WY\370\373F\315*\266\\m\261\223\3315\373\213\003\366\207<\230\340\331 g5\362g\214\216*\216\025v\262\373\372\2615Z\361Q\237?\372\376\261p\211p!\035\001\341W\010]Y&\006\"\340\257\352MS\317\373\237?\323D\367Y\275\304?*\216q\327\373\"\023\033\2669z\t\356h;U\rU\nU\375H!\347\2475\210\335\315\346\327\034\001T\227\371KIv\010\277c\232\355o\017!&]w\214\035\235:\334_o\261\332\307s\311\251\\C\375\256K\207\253}\375\206\343\256\007Z\371\254\237A4\372\242p\2358\345A(\232\307\345[)\207\212}\245\373;\022\253\r\177\014c\242\0230\206c\246\035\274\263\232}F\010\264\301\316Z\367&w\002\356\334\316\214+\377h'T\275\371\305\316\260+\263\203\017\217\235\007Sk!e\025\246\227\r\342\340\215\360(\340kP`$\333\243\014a\341\373\273\316\322\201\344>\365\372n\2317?B\361\370\304\247u\006\207\275G\251s\007v\270\346\246\325\306\237?9\264\335\261}\023Q\310\260\370}-\004\266\033\304\336\243\354\030\210xPGdt\261X\323\242\371/\204\215'J3v\271\204\006\275\305\341\r\3303\376\037X\267l@";
    PyObject *data = __Pyx_DecompressString(cstring, 20053, 1);
    if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
    const char* const bytes = __Pyx_PyBytes_AsString(data);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
    #endif
    #else /* compression: none (49681 bytes) */
const char* const bytes = "<0\\042, 0, 0); = 0; < (0)) (?![0-9])\\w+$0x%02X%02X%02X%02X\\1Acquiring the GIL is currently very unlikely to work correctly with subinterpreters.\n    An include file and/or verbatim C code to be included in the\n    generated sources.\n    CALL_UNBOUND_METHOD\\(([a-zA-Z_]+),\\s*\"([^\"]+)\",\\s*([^),\\s]+)((?:,[^),]+)*)\\)CALL_UNBOUND_METHOD() does not support 'CCodeWriter'CSTRING\\(\\s*\"\"\"([^\"]*(?:\"[^\"]+)*)\"\"\"\\s*\\)(CYTHON_COMPRESS_STRINGS) == (CYTHON_COMPRESS_STRINGS) != 0CYTHON_UNUSED CYTHON_UNUSED_VAR(CYTHON_UNUSED_VAR(__Pyx_DecompressString);^%(C)s{5,30}  \\s*  (?P<name> (?:\\w|\\.)+ )  \\s*  %(C)s{5,30} |^%(C)s+  @(?P<tag> .+)/* Cached unbound methods */CallUnboundCMethod%d/* #### Code section: %s ### */Compression algorithm no. 1 must be 'zlib' to be used as fallback.Contains parsed declaration of shared utility functionCppSupport.cppCython.Cython.Compiler.Cython/Compiler/Code.pyCython.Compiler.ErrorsCython.Compiler.PyrexTypesCython.Compiler.ScanningCython.Compiler.TypeSlotsCython.StringIOTreeCython.TempitaEMPTY\\((bytes|unicode|tuple)\\)Empty utility code fileError parsing templated utility code 'Exceptions.cExport block must not contain comments:\nFound invalid tag 'Found invalid tag value 'Found unknown tag name 'Found useless 'substitute: naming' declaration without replacements. ('GlobalState'Global info about a Python number constant held by GlobalState.\n\n    cname       string\n    value       string\n    py_type     string     int, long, float\n    value_code  string     evaluation code if different from value\n    Left-over utility code macro 'ModuleSetupCode.cNAMED_CGLOBAL(moddict_cname)(NAMED_)?CGLOBAL\\(([^)]+)\\) = NULL = NULL;NoneNote that Cython is deliberately stricter than PEP-484 and rejects subclasses of builtin types. If you need to pass subclasses then set the 'annotation_typing' directive to False.ObjectHandling.c__PYX_ERR( && __PYX_LIMITED_VERSION_HEX >= 0x030e0000__PYX_MARK_ERR_POS(PY(IDENT|UNICODE)\\(\"([^\"]+)\"\\), (P""yCFunction)PyErr_Occurred()PyFloat_FromDouble(c_constants[i])&PyFloat_TypePyGILState_STATE PyGILState_STATE __pyx_gilstate_save;PyLong_FromString(c_constant, &end_pos, 32)&PyLong_TypePyMutex_Lock(&PyMutex_Unlock(&PyObject *(PyObject *)PyObject *data = NULL;PyObject *data = __Pyx_DecompressString(cstring, PyObject **numbertab = PyObject *res = %s;PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);PyObject **stringtab = PyObject **table = PyObject* tuple_dedup_map = PyDict_New();PyThreadState *) PyUnicode_InternInPlace(&string);PyUnstable_Object_EnableDeferredRefcount(&PyWrapperDescr_TypePy_CLEAR({ Py_CLEAR(%s); }Py_DECREF(tuple_dedup_map);; Py_INCREF(Py_None);Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);Py_VISIT(traverse_module_state->Py_XDECREF(data);Py_ssize_t bytes_length = index[i].length;Py_ssize_t pos = 0;__Pyx_AddTraceback(%s, %s, %s, %s);__Pyx_CachedCFunction %s;__Pyx_FastGIL_Forget();__Pyx_FastGIL_Remember(); = __Pyx_GetBuiltinName(; __Pyx_INCREF(Py_None);;\n        } __Pyx_PyCode_New_function_description;\n        __Pyx_PyGILState_Release(%s);__Pyx_PyMonitoring_ExitScope(__Pyx_RefNannyFinishContext();__Pyx_RefNannyFinishContextNogil()__Pyx_RefNannySetupContext(__Pyx_TraceException(__Pyx_TraceExceptionHandled(__Pyx_TraceExceptionUnwind(__Pyx_TraceFrameInit(%s)__Pyx_TraceLine(__Pyx_TraceResumeGen(__Pyx_TraceStopIteration(__Pyx_TraceYield(__Pyx_WriteUnraisable(\"__Pyx_default_placement_construct(&(/* --- Runtime support code --- *//* --- Runtime support code (head) --- */\\S+$StringTools.cTEMPGUARD: Temps left over at end of 'Temp %s freed twice!TypeConversion.cUTF-8\n    Utility code that calls a callback with the root code writer when\n    available. Useful when you only have 'env' but not 'code'.\n    Wrong format of function definition in export block \n/::\n\n()>///**/>;\n []/*  */  (*)(\n'\\\\\\\"\"\n,->""': , . [ *);}+-(&) ];;: [] = \"\";[] = {  };{}; ( }[] = { + : ?  *  { \")\n             # <<<<<<<<<<<<<</* \"\":\n*/\n = )|();)) { ); \", ], ));    #\t?[^a-zA-Z0-9_]+([a-zA-Z0-9]+)add_note allocated (' at line bad: bytes) */c_constant = end_pos + 1; call argumentschar *end_pos;clear_module_state-> /* compression:  const const char *const char* c_constant = \"const char* const bytes = \"const char* const bytes = __Pyx_PyBytes_AsString(data);const char* const cstring = \"const struct { const unsigned int length: cython.Py_ssize_tcython.int{%d}#define     #define likely(x)   __builtin_expect(!!(x), 1)    #define likely(x)   (x)#define %s    #define unlikely(x) __builtin_expect(!!(x), 0)    #define unlikely(x) (x)disable#else#else /* compression: none (enable#endif#endif /* _OPENMP */for (for (Py_ssize_t i = 0; i < for (Py_ssize_t i=0; i<for (size_t i=0; i<()' found in 'gcgoto %s;.h; ++i) {  i=0; i< i = 0; i < ; ++i) {[i]); }; ++i) [i]; i++) { i = ; i < [i - (i < ; ++i) { Py_CLEAR(clear_module_state->); if (!if (#if !CYTHON_ASSUME_SAFE_MACROS#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000#if CYTHON_IMMORTAL_CONSTANTS#if PY_VERSION_HEX < 0x030E0000if (PyUnstable_Object_IsUniquelyReferenced(table[i]))if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)if (likely(bytes)); else { Py_DECREF(data); if (likely(string) && i >= if (!res && !PyErr_Occurred()) { PyErr_SetNone(PyExc_StopIteration); }#if %sif (unlikely(!if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {if (unlikely(!string)) {if (unlikely(!tuple_dedup_map)) return -1;#ifdef Py_UNICODE_WIDE#ifdef _OPENMP#ifndef %s\n in \n in file ' in utility section #include {}#include \"{}\"#include \"; } index[] = {*[inserted by cython to avoid comment closer]//[inserted by cython to avoid comment start]*int int __Pyx_CreateCodeObjects(int __Pyx_InitCachedBuiltins(int __Pyx_InitCachedConstants(int __Pyx_InitConstants(int __Pyx_InitGlobals(void)isenabledl""arge{counter}_<lazy>\n#line \n#line 1 \"cython_utility\"\n->memview.method);.method_name = &moddict_cname should not be shared: \\n\"\n\\n\\n+numbertab[i] = numbertab[i]pos += bytes_length;); /*proto*/; /*proto*/(.+)[.](proto(?:[.]\\S+)?|impl|init|cleanup|module_state_decls|module_state_traverse|module_state_clear|export)$.pxd.pxi.py.pyx released resume_from_%sreturn 0;return -1;return res;return %s;^\\s*//.*|/\\*[^*]*\\*/(%s < 0)%s  = %s!%s\\s+(\\\\?)$\\s+&%s%s;%s : %s)%s:;%s = NULL;%s = __Pyx_PyGILState_Ensure();%s = _save;^\\s*#(?!\\s*cython\\s*:).*%s(self)(_save); _save;_save = _save = %s;{sep}{counter}static static CYTHON_SMALL_CODE static PyObject *%s;static PyObject *%s(PyObject *self, CYTHON_UNUSED PyObject *arg) {static Py_UNICODE static const char \n            ^static\\s                                         # `static` keyword\n            (?P<ret_type>[^;()]+[\\s*])                        # return type + modifier with optional * - e.g.: int *, float, const str *, ...\n            (?P<func_name>\\w+)\\((?P<func_params>[^)]*)\\)$     # function with params - e.g. foo(int, float, *PyObject)\n        stringtab + stringtab[i] = string;.tmp(traverse_module_state->.type = (PyObject*)        typedef struct {\n            unsigned int argcount :     #undef likely    #undef unlikelyunlikely(%s);\n            unsigned int first_line : ;\n            unsigned int flags : ;\n            unsigned int nlocals : ;\n            unsigned int num_kwonly_args : ;\n            unsigned int num_posonly_args : us-ascii (used by utf-8void __Pyx_CleanupGlobals((void(*)(void))( - zombieASCIIAbstractUtilityCodeAbstractUtilityCode.get_shared_library_scopeAbstractUtilityCode.get_treeAbstractUtilityCode.put_codeArithmeticErrorAssertionErrorAttributeErrorBaseExceptionBaseExceptionGroupBlockingIOErrorBrokenPipeErrorBufferErrorBytesWarningCCALL_UNBOUND_METHODCCodeConfigCCodeConfig.__init__CCodeWriterCCodeWriter._write_to_bufferCCodeWriter.all_new_labelsCCodeWriter.as_pyobjectCCodeWrit""er.begin_blockCCodeWriter.break_labelCCodeWriter.build_function_modifiersCCodeWriter.continue_labelCCodeWriter.copytoCCodeWriter.create_newCCodeWriter.declare_gilstateCCodeWriter.end_blockCCodeWriter.enter_cfunc_scopeCCodeWriter.entry_as_pyobjectCCodeWriter.error_gotoCCodeWriter.error_goto_ifCCodeWriter.error_goto_if_PyErrCCodeWriter.error_goto_if_negCCodeWriter.error_goto_if_nullCCodeWriter.error_labelCCodeWriter.exit_cfunc_scopeCCodeWriter.get_all_labelsCCodeWriter.get_argument_default_constCCodeWriter.get_cached_constants_writerCCodeWriter.get_loop_labelsCCodeWriter.get_py_codeobj_constCCodeWriter.get_py_constCCodeWriter.get_py_floatCCodeWriter.get_py_intCCodeWriter.get_py_string_constCCodeWriter.get_py_version_hexCCodeWriter.get_pyunicode_ptr_constCCodeWriter.get_string_constCCodeWriter.getvalueCCodeWriter.insertCCodeWriter.insertion_pointCCodeWriter.internCCodeWriter.intern_identifierCCodeWriter.is_tracingCCodeWriter.label_counterCCodeWriter.label_interceptorCCodeWriter.label_usedCCodeWriter.labels_usedCCodeWriter.lookup_filenameCCodeWriter.mark_posCCodeWriter.name_in_main_c_code_module_stateCCodeWriter.name_in_module_stateCCodeWriter.name_in_slot_module_stateCCodeWriter.namespace_cname_in_module_stateCCodeWriter.new_error_labelCCodeWriter.new_labelCCodeWriter.new_loop_labelsCCodeWriter.new_writerCCodeWriter.new_yield_labelCCodeWriter.pos_to_offsetCCodeWriter.putCCodeWriter.put_acquire_freethreading_lockCCodeWriter.put_acquire_gilCCodeWriter.put_add_tracebackCCodeWriter.put_code_hereCCodeWriter.put_cpp_placement_newCCodeWriter.put_declare_refcount_contextCCodeWriter.put_decrefCCodeWriter.put_decref_clearCCodeWriter.put_decref_setCCodeWriter.put_ensure_gilCCodeWriter.put_error_if_negCCodeWriter.put_error_if_unboundCCodeWriter.put_finish_refcount_contextCCodeWriter.put_generated_byCCodeWriter.put_giverefCCodeWriter.put_gotoCCodeWriter.put_gotrefCCodeWriter.put_h_guardCCodeWriter.put_increfCCodeWriter.put_incref_memoryviewsliceCCodeWriter.put_init_to_py_noneCCodeW""riter.put_init_var_to_py_noneCCodeWriter.put_labelCCodeWriter.put_make_object_deferredCCodeWriter.put_or_includeCCodeWriter.put_pymethoddefCCodeWriter.put_pymethoddef_wrapperCCodeWriter.put_release_ensured_gilCCodeWriter.put_release_freethreading_lockCCodeWriter.put_release_gilCCodeWriter.put_safeCCodeWriter.put_setup_refcount_contextCCodeWriter.put_temp_declarationsCCodeWriter.put_trace_declarationsCCodeWriter.put_trace_exceptionCCodeWriter.put_trace_exception_propagatingCCodeWriter.put_trace_exception_handledCCodeWriter.put_trace_exitCCodeWriter.put_trace_frame_initCCodeWriter.put_trace_resumeCCodeWriter.put_trace_returnCCodeWriter.put_trace_startCCodeWriter.put_trace_stopiterationCCodeWriter.put_trace_unwindCCodeWriter.put_trace_yieldCCodeWriter.put_unraisableCCodeWriter.put_var_declarationCCodeWriter.put_var_decrefCCodeWriter.put_var_decref_clearCCodeWriter.put_var_decref_setCCodeWriter.put_var_decrefsCCodeWriter.put_var_giverefCCodeWriter.put_var_gotrefCCodeWriter.put_var_increfCCodeWriter.put_var_incref_memoryviewsliceCCodeWriter.put_var_xdecrefCCodeWriter.put_var_xdecref_clearCCodeWriter.put_var_xdecref_setCCodeWriter.put_var_xdecrefsCCodeWriter.put_var_xdecrefs_clearCCodeWriter.put_var_xgiverefCCodeWriter.put_var_xgotrefCCodeWriter.put_var_xincrefCCodeWriter.put_xdecrefCCodeWriter.put_xdecref_clearCCodeWriter.put_xdecref_setCCodeWriter.put_xgiverefCCodeWriter.put_xgotrefCCodeWriter.put_xincrefCCodeWriter.putlnCCodeWriter.putln_openmpCCodeWriter.redef_builtin_expectCCodeWriter.return_from_error_cleanup_labelCCodeWriter.return_labelCCodeWriter.set_all_labelsCCodeWriter.set_error_infoCCodeWriter.set_global_stateCCodeWriter.set_loop_labelsCCodeWriter.start_initcfuncCCodeWriter.start_slotfuncCCodeWriter.typeptr_cname_in_module_stateCCodeWriter.undef_builtin_expectCCodeWriter.unlikelyCCodeWriter.use_fast_gil_utility_codeCCodeWriter.use_labelCCodeWriter.writeCCodeWriter.write_trace_lineCCodeWriter.yield_labelsCGLOBALCSTRINGCYTHON_INLINEChildProcessErrorClosureTempA""llocatorClosureTempAllocator.__init__ClosureTempAllocator.allocate_tempClosureTempAllocator.resetCompressionParameterConnectionAbortedErrorConnectionErrorConnectionRefusedErrorConnectionResetErrorCython.Compiler.CodeCython_dirDebugFlagsDecompressStringDefaultPlacementNewDeprecationWarningEARLYEMPTYEOFErrorEllipsisEncodedStringEncodingWarningEnvironmentErrorErrorsExceptionExceptionGroupFFalseFastGilFileExistsErrorFileNotFoundErrorFloatingPointErrorForceInitThreadsFunctionStateFunctionState.all_free_managed_tempsFunctionState.all_managed_tempsFunctionState.all_new_labelsFunctionState.allocate_tempFunctionState.get_all_labelsFunctionState.get_loop_labelsFunctionState.init_closure_tempsFunctionState.label_usedFunctionState.new_error_labelFunctionState.new_labelFunctionState.new_loop_labelsFunctionState.new_yield_labelFunctionState.release_tempFunctionState.set_all_labelsFunctionState.set_loop_labelsFunctionState.start_collecting_tempsFunctionState.stop_collecting_tempsFunctionState.temps_holding_referenceFunctionState.temps_in_useFunctionState.use_labelFunctionState.validate_exitFutureWarningGENERATED_BY_MARKERGeneratorExitGetBuiltinNameGlobalStateGlobalState.__getitem__GlobalState.__init__GlobalState._generate_module_array_traverse_and_clearGlobalState.add_cached_builtin_declGlobalState.cached_unbound_method_call_codeGlobalState.close_global_declsGlobalState.commented_file_contentsGlobalState.finalize_main_c_codeGlobalState.generate_cached_methods_declsGlobalState.generate_codeobject_constantsGlobalState.generate_const_declarationsGlobalState.generate_num_constants.<locals>.store_arrayGlobalState.generate_num_constants.<locals>.generate_forloop_startGlobalState.generate_num_constants.<locals>.assign_constantGlobalState.generate_num_constants.<locals>.define_constantsGlobalState.generate_num_constants.<locals>.to_base32GlobalState.generate_num_constantsGlobalState.generate_object_constant_declsGlobalState.generate_pystring_constantsGlobalState.generate_string_constantsG""lobalState.get_argument_default_constGlobalState.get_cached_constants_writerGlobalState.get_cached_unbound_methodGlobalState.get_float_constGlobalState.get_int_constGlobalState.get_interned_identifierGlobalState.get_py_codeobj_constGlobalState.get_py_constGlobalState.get_py_string_constGlobalState.get_pyunicode_ptr_constGlobalState.get_string_constGlobalState.immortalize_constantsGlobalState.initialize_main_c_codeGlobalState.initialize_main_h_codeGlobalState.lookup_filenameGlobalState.new_array_const_cnameGlobalState.new_const_cnameGlobalState.new_num_constGlobalState.new_num_const_cnameGlobalState.new_string_constGlobalState.new_string_const_cnameGlobalState.put_cached_builtin_initGlobalState.put_pyobject_declGlobalState.should_declareGlobalState.unique_const_cnameGlobalState.use_entry_utility_codeGlobalState.use_utility_codeIDENTINITIALIOErrorImportErrorImportWarningIncludeCodeIncludeCode.__init__IncludeCode.dict_updateIncludeCode.mainpieceIncludeCode.sortkeyIncludeCode.write_IncompleteInputErrorIndentationErrorIndexErrorInterruptedErrorIsADirectoryErrorKNOWN_PYTHON_BUILTINSKNOWN_PYTHON_BUILTINS_VERSIONKeyErrorKeyboardInterruptLLATELLLazyUtilityCodeLazyUtilityCode.__init__LazyUtilityCode.put_codeLookupErrorMemoryErrorModuleNotFoundErrorNameErrorNamingNewCodeObjNoFastGilNogilNoneNotADirectoryErrorNotImplementedNotImplementedErrorNumConstNumConst.__init__OSErrorOptionalLocalsOptionsOverflowErrorPYIDENTPYUNICODEPendingDeprecationWarningPermissionErrorProcessLookupErrorPyCFunctionPyEval_RestoreThreadPyEval_SaveThreadPyHeapTypeObjectPyLong_FromLongPyLong_FromLongLongPyObjectConstPyStringConstPyTypeObjectPy_NonePy_VISITPy_ssize_tPyrexCodeWriterPyrexCodeWriter.dedentPyrexCodeWriter.indentPyrexCodeWriter.putlnPyrexTypesPythonFinalizationError__Pyx_PyxCodeWriterPyxCodeWriter.dedentPyxCodeWriter.emptyPyxCodeWriter.getvaluePyxCodeWriter.indentPyxCodeWriter.indenterPyxCodeWriter.insertion_pointPyxCodeWriter.named_insertion_pointPyxCodeWriter.put_chunkPyxCodeWriter.putlnPyxCod""eWriter.reset__Pyx_InitCachedConstants__Pyx_PyDict_NextRef__Pyx_RefNannyDeclarations__Pyx_RestoreUnknownThread__Pyx_SaveUnknownThread__Pyx_TraceDeclarationsFunc__Pyx_TraceDeclarationsGen__Pyx_TraceReturnCValue__Pyx_TraceReturnValue__Pyx_TraceStartFunc__Pyx_TraceStartGen__Pyx_UnknownThreadState__Pyx_VISIT_CONSTRaiseClosureNameErrorRaiseCppAttributeErrorRaiseCppGlobalNameErrorRaiseUnboundLocalErrorRecursionErrorReferenceErrorReleaseUnknownGilResourceWarningRuntimeErrorRuntimeWarningScanningSharedFunctionDeclSourceDescriptorStopAsyncIterationStopIterationStrategyStringConstStringConst.get_py_string_constStringEncodingStringIOTreeSyntaxErrorSyntaxWarningSystemErrorSystemExitTabErrorTempitaTempitaUtilityCodeTempitaUtilityCode.__init___TempitaUtilityCode__cacheTempitaUtilityCode.load_cachedTempitaUtilityCode.none_or_subTemplateTimeoutErrorTrueTypeConversionsTypeErrorTypeSlotsUUnboundLocalErrorUnicodeDecodeErrorUnicodeEncodeErrorUnicodeErrorUnicodeTranslateErrorUnicodeWarningUserWarningUtilityUtilityCodeUtilityCodeBaseUtilityCodeBase.__deepcopy__UtilityCodeBase._add_utility_UtilityCodeBase__cacheUtilityCodeBase.format_codeUtilityCodeBase.get_shared_library_scopeUtilityCodeBase.get_special_comment_matcherUtilityCodeBase.get_treeUtilityCodeBase.loadUtilityCodeBase.load_as_stringUtilityCodeBase.load_cachedUtilityCodeBase.load_utilities_from_fileUtilityCodePragmasUtilityCodePragmasEndUtilityCode._put_code_sectionUtilityCode._put_init_code_sectionUtilityCode._put_shared_function_declarationsUtilityCode._validate_suitable_for_sharingUtilityCode.none_or_subUtilityCode.parse_export_functionsUtilityCode.put_codeUtilityCode.specializeUtilsVERBOSEValueErrorWarningWindowsErrorWriteUnraisableExceptionZeroDivisionError_absabspathacquire_giladdadd_cached_builtin_decladd_macro_processoradd_macro_processor.<locals>.build_processor.<locals>.processadd_macro_processor.<locals>.build_processor_add_utilityaiter__aiter__algo_namealgo_numberallall_free_managed_tempsall_linesall_managed_tempsall_""new_labelsall_tagsallocate_tempallow_skipanext__anext____annotations__anyappendargarg_cnamesarg_default_constantsargsargs_signaturearray_accessarray_cnamearray_nameas_c_string_literalas_pyobjectasciiassign_constantasyncio.coroutinesattrgetterattribute_of__await__bbadbasestringbasicsize_builtins_mapbefore_global_varbegin_blockbegin_linenobetabinbit_lengthboolboundsbreakbreak_labelbreakpointbtultra2buffer__build_class__build_function_modifiersbuild_processorbyte_sizebyte_stringbyte_stringsbytearraybyteencodebytesbytes_valuebytes_valuesbz2cc_constantsc_constsc_line_in_tracebackc_pathc_ptr_typec_slot_namec_stringc_used__cachecache_cnamecached_builtinscached_cmethodscached_constantscached_unbound_method_call_codecallablecallbackcan_be_reusedcapi_funccastcf_usedcheck_for_null_codechrchunk__cinit__cint_constants___class_getitem__class_scopeclassmethodcleanupcleanup_globalscleanup_levelcleanup_moduleclearclear_before_decrefcline_in_tracebackclineno_cnamecliteralcloseclose_global_declsclosingclscnamecname_in_modulestatecnamescodecode_configcode_layoutcode_object_countcode_partscode_stringcode_typecodeobjcodeobject_constantscodeobjtab_cnamecodewriter_temp_prefixcollectionscommentcommented_file_contentscommon_utility_include_dircompilecomplexcomplex_type_declarationscompresscompressed_bytescompression_algorithmscompression_levelcompression.zstdcompresslevelconcat_bytescondconstconst_array_countersconst_cnames_usedconst_prefixconst_typeconstant_countconstant_name_definesconstant_offsetconstantsconstscontentcontextcontext_keycontextlibcontextmanagercontinuecontinue_labelcopycopy_formattingcopyrightcopytocountcountercounter_typecpp_localscpp_optional_declaration_codecreate_fromcreate_newcreditsctypectypedef_builtins_mapcv_base_typeddatadataclassdataclasses__dealloc____debug__debug_temp_code_commentsdecldeclarationdeclaration_codedeclare_gilstatedeclare_vardeclared_cnamesdeclsdecls_writerdecodededentdedup_const_indexdedup_key__deepcopy__def_nodedefault_valuedefaultdictdefine_const""antsdefined_in_pxddefinesdefinitiondelattrdepdependencydict__dict__dict_updatedigitdigit_chardigitsdirdirectivesdirnamedivmoddll_linkagedoc__doc__doc_cnamedonedoubleeelifemit_code_commentsemit_linenumsempty_emptyempty_declaration_codeencodeencode_pyunicode_stringencodingendend_blockendswith__enter__enter_cfunc_scopeentriesentryentry_as_pyobjectentry_nameenumerateerrorerror_gotoerror_goto_iferror_goto_if_PyErrerror_goto_if_negerror_goto_if_nullerror_handlingerror_labelerror_posescapeescape_byte_stringescaped_bytesescaped_valueevalexecexists__exit__exitexit_cfunc_scopeexportexport_protoexpr_typeextextendextra_argffast_getattrfast_gil__file__filefilenamefilename_cnamefilename_indexfilename_listfilename_tablefiletable_cnamefilterfinalize_main_c_codefindallfirst_internedfirst_linefloatfloat_constantsformatformat_code_format_impl_codeformat_strformat_tuplefreelistfreshfrom_closurefrom_filefrozenset__func__funcfunc_callfunc_cnamefunc_contextfunc_namefunc_paramsfunc_ptrfunccontext_propertyfunccontext_property.<locals>.getfunccontext_property.<locals>.setfuncstatefunctoolsgcc_branch_hintsgenerate_cached_methods_declsgenerate_cleanup_codegenerate_codeobjgenerate_codeobject_constantsgenerate_const_declarationsgenerate_decrefgenerate_decref_cleargenerate_decref_setgenerate_forloop_startgenerate_giverefgenerate_gotrefgenerate_increfgenerate_incref_memoryviewslice_generate_module_array_traverse_and_cleargenerate_num_constantsgenerate_object_constant_declsgenerate_pystring_constantsgenerate_string_constantsgenerate_xdecrefgenerate_xdecref_cleargenerate_xdecref_setgenerate_xgiverefgenerate_xgotrefgenerate_xincrefgenexprgetget_all_labelsget_all_subtypesget_argument_default_constget_cached_constants_writerget_cached_unbound_methodget_escaped_descriptionget_filenametable_entryget_float_constget_int_constget_interned_identifierget_linesget_loop_labelsget_py_codeobj_constget_py_constget_py_floatget_py_intget_py_string_constget_py_version_hexget_pyunicode_ptr_constget_shared_library_scop""eget_slot_by_method_nameget_slot_tableget_special_comment_matcherget_string_constget_treeget_utility_dir__getattr__getattr__getattribute____getbuffer____getitem__getpidgetvalueglobal_stateglobal_varglobalsglobalstategroupgroupsguardh_codeh_code_layouthas_ifhas_shared_utility_codehasattrhashhashlibhave_gilhelphexhexdigestiididentifieridxifignoreimmortalize_constantsimplimpls__import__in_closurein_nogil_contextin_utility_code_generationincludeinclude_clineinclude_dirinclude_fileinclude_requiresindent_indent_chunkindent_levelindentation_lengthindenterindexinit__init____init__.<locals>.genexprinit_closure_tempsinit_codeobjectsinit_constantsinit_functioninit_globalsinit_moduleinitfunc_declarationsinitialinitialised_constantsinitialize_main_c_codeinitialize_main_h_code_inject_cglobal_inject_empty_collection_constant_inject_string_constant_inject_unbound_methodinlineinputinput_file_contentsinsertinsertion_pointintint16_tint32_tint64_tint8_tint_constant_countint_constants_by_bytesizeint_constants_seenint_suffixint_typesinternintern_identifierinterned_prefixesis_binop_number_slotis_builtinis_c_class_scopeis_cdefis_cfunctionis_cglobalis_completeis_const_is_coroutineis_cpdef_funcis_cpp_classis_cpp_optionalis_cv_qualifiedis_cython_utilityis_extension_typeis_fake_referenceis_generatoris_generator_expressionis_internedis_memberis_memoryviewsliceis_module_scopeis_module_specificis_namedis_negis_number_slotis_py_class_scopeis_pyobjectis_pytempis_referenceis_self_argis_specialis_stringis_tracingis_unicodeis_variableis_voidisinstanceissubclassitemsiterjoinkkeependskeyklasskwargskwdslabellabel_counterlabel_interceptorlabel_prefixlabel_usedlabelslabels_used<lambda>large_constants_last_macro_processorlast_processorlatelate_includeslblleftoverslenlengthlevellevelslicenselineline_comment_charlinenolineno_cnamelineslinetracelistliteral_codeloadload_as_stringload_as_string.<locals>.prependload_cachedload_utilities_from_fileload_utilities_from_file.<locals>.<lambda>localslocationlonglongness""lookup_filenamelowerlstripmmacromacro_names__main__main_methodmainpiecemanage_refmangle_internalmapmappermark_posmatchmatch_section_titlematch_specialmatch_typematchedmatchobjmaxmax_flagsmax_func_argsmax_kwonly_argsmax_linemax_posonly_argsmax_varsmay_have_refcyclesmemodictmemoryview__metaclass__method_coexistmethod_flagsmethod_function_typemethod_namemethod_name_cnamemethod_noargsmethod_wrapper_prefixminmodifier_output_mappermodifiers__module__module_codemodule_declarationsmodule_exttypesmodule_nodemodule_posmodule_statemodule_state_clearmodule_state_clear_contentsmodule_state_clear_endmodule_state_contentsmodule_state_declsmodule_state_endmodule_state_traversemodule_state_traverse_contentsmodule_state_traverse_endmodulestate_cnamemodulestateglobal_cnamemodulestatetype_cnamemodulestatevalue_cnamemove__mro_entries__msgmtypename__name____namename_in_main_c_code_module_statename_in_module_statename_in_slot_module_statename_suffixnamed_insertion_pointnames_takennamespace_cnamenamespace_cname_in_module_statenamingnannyneeds_funcstateneeds_prototypeneeds_refcountingneg_new_array_const_cnamenew_codenew_const_cnamenew_error_labelnew_labelnew_labelsnew_loop_labelsnew_num_constnew_num_const_cnamenew_string_constnew_string_const_cnamenew_writernew_yield_label__next__nextnonodenode_positions_to_offsetnogilnogil_tagnone_or_subnum_and_labelnum_const_indexnum_kwonly_argsnum_posonly_argsnumbernumber_valuenumbertab_cnamenumeric_typedefsobj_cnameobjectoctold_err_lblold_labelold_labelsopenopen_new_fileopen_source_fileoperatoroptionsordorderorig_kwargsorig_labelorig_labelsosotheroutfile_nameoutputownerparallel_freethreading_mutexparamsparent_scopeparse_export_functionsparsed_protospartpart_writerpartialpartitionparts_parts_tuplepathpiecespoppospos_to_offsetpowprefix__prepare__prependpreproc_guardpreprocessor_guard_codeprintprivateprocessprocess_utility_ccodeprofilepropertyprotoproto_blockproto_regexprotosputput_acquire_freethreading_lockput_acquire_gilput_add_tracebackput_cached_builti""n_initput_chunkput_codeput_code_here_put_code_sectionput_cpp_placement_newput_declare_refcount_contextput_decrefput_decref_clearput_decref_setput_ensure_gilput_error_if_negput_error_if_unboundput_finish_refcount_contextput_generated_byput_giverefput_gotoput_gotrefput_h_guardput_increfput_incref_memoryviewslice_put_init_code_sectionput_init_to_py_noneput_init_var_to_py_noneput_labelput_make_object_deferredput_or_includeput_pymethoddefput_pymethoddef_wrapperput_pyobject_declput_release_ensured_gilput_release_freethreading_lockput_release_gilput_safeput_setup_refcount_context_put_shared_function_declarationsput_temp_declarationsput_trace_declarationsput_trace_exceptionput_trace_exception_handledput_trace_exception_propagatingput_trace_exitput_trace_frame_initput_trace_resumeput_trace_returnput_trace_startput_trace_stopiterationput_trace_unwindput_trace_yieldput_unraisableput_var_declarationput_var_decrefput_var_decref_clearput_var_decref_setput_var_decrefsput_var_giverefput_var_gotrefput_var_increfput_var_incref_memoryviewsliceput_var_xdecrefput_var_xdecref_clearput_var_xdecref_setput_var_xdecrefsput_var_xdecrefs_clearput_var_xgiverefput_var_xgotrefput_var_xincrefput_xdecrefput_xdecref_clearput_xdecref_setput_xgiverefput_xgotrefput_xincrefputlnputln_openmppy_bytes_constspy_const_prefixpy_floatpy_intpy_longpy_nonepy_object_typepy_stringpy_string_countpy_stringspy_typepy_unicode_constspyrex_prefixpyrex_typepystring_tablepyunicode_ptr_const_indexpyversion__pyx_gilstate_save__pyx_vtable__qualified_name__qualname__quitrrangeraw_inputreread_itemread_utilities_from_utility_dirread_utilities_hookreadlinesredef_builtin_expectref_base_typerefnannyregexrelease_temp__releasebuffer__removerenamed_py2_builtins_mapreplacereplace_empty_linesreprrequiresreraiseresetresultresult_is_module_specificresult_typeretret_typereturnreturn_from_error_cleanup_labelreturn_labelreturn_typeretvalue_cnamereusablereversereversedrhs_cnamerhs_code__richcmp__rootwriterroundrsplitrstripssafescopescope_cla""ssselfsendsepsetset_all_labelsset_error_infoset_global_stateset_loop_labels__set_name__setattrsetdefaultsha256sharedshared_utility_functionsshared_utility_qualified_nameshould_declareshutilsignatureskip_dispatch_cnameskip_to_labelsliceslice_cnameslotslotfunc_cnamesortedsortkeysource_descsource_filespecialization_namespecializesplitsplit_string_literalsplitextsplitlinesstart_collecting_tempsstart_initcfuncstart_offsetstart_slotfuncstaticstaticmethodstop_collecting_tempsstorage_classstore_arraystrstr_to_numberstr_typestr_valuestrategystringstring_const_indexstring_declsstringtab_bytes_startstringtab_cnamestringtab_posstripstrip_commentsstruct_attr_cnamesubsub_tempitasubinterpreters_compatiblesubstitutesumsupertagtag_nametag_valuetag_valuestagstargettempitatemplatetemps_allocatedtemps_counttemps_freetemps_holding_referencetemps_in_usetermtexttext_stringstextwrapthrowtmp_pathto_base32to_py_functiontptracetrace_functupletypetype_cnametype_declarationstype_nametypecasttypeinfotypeptr_cnametypeptr_cname_in_module_stateuumethodunbound_check_codeuncachable_builtinsundef_builtin_expectunicodeunique_const_cnameunknown_gil_stateunlikelyunlinkunraisable_tracebacksunusedupdateusasciiuse_entry_utility_codeuse_fast_gil_utility_codeuse_labeluse_utility_codeusedused_byused_onlyustringutf16_arrayutf32_arrayutf8utf8encodeutilutil_codeutil_code_nameutilitiesutility_utility_cacheutility_code_utility_codeutility_code_defutility_code_definitionutility_code_nameutility_code_pragmasutility_code_pragmas_endutility_code_protoutility_code_proto_before_typesutility_codesvalidate_exit_validate_suitable_for_sharingvaluevalue_codevaluesvariablevarnamesvarsverbatimvisibilityvisit_callwwarning_wrap_c_string_wrap_c_string.<locals>.genexprwrapper_code_writerwrapper_descriptorwrapswrite_write_to_bufferwrite_trace_linewriterxdecref_cleanupxrange_xxx_yieldyield_labelszipzlibzstdzstd_CompressionParameterzstd_Strategy0\\0000123456789abcdefghijklmnopqrstuv(?![0-9])\\w+$PyObject *\000StringIO\320\0040\260""\001\330\010\014\210F\220!\320\023;\270;\300a\200\001\330$%\330\004\013\210<\220|\2401\240A\320\004+\2501\330\010\013\2101\330\014\020\220\006\220a\320\0272\260\"\260A\200\001\360\010\000\005\014\2101\320\010+\2501\330\014\033\2309\240D\250\003\250:\260Q\330\014\r\210V\2201\220G\2301\320\0345\260Q\260a\320\004#\2401\330\010\014\210F\220!\320\0232\260!\2604\260q\270\006\270a\320\0101\260\026\260~\300Q\360\006\000\r$\2406\250\021\330\014\020\220\003\2205\230\t\240\021\240!\330\020\035\230Q\230a\230q\330\020\027\220v\230Q\230j\250\001\250\027\260\001\3201B\300!\300=\320PR\320RS\320\004#\2401\330\010\013\210:\220W\230A\330\014\024\220D\320\030*\250$\250a\250q\330\014\017\210v\220W\230A\330\020\027\220q\330\010\020\220\004\320\024*\250!\2501\330\010\013\210:\220W\230A\330\014\020\320\020\"\240!\240=\260\001\330\010\017\210q\320\004#\2401\330\010\016\210d\220*\230A\330\010\014\210J\220j\240\001\240\021\330\010\013\2104\210s\220!\330\014\023\220;\230b\240\001\330\010\014\210J\320\0268\270\001\330\010\013\2101\330\014\020\220\n\320\0322\260!\330\010\017\210q\330\014\020\320\020 \240\001\240\023\240A\240Q\330\014\017\210q\220\001\330\014\r\320\0041\260\021\330\010\017\210t\220<\320\037;\2701\270A\320\004;\2701\330\010\017\210t\320\023'\240q\330\010\013\2101\330\014\020\220\014\320\034-\250Q\330\020\033\230<\240q\320(<\270A\330\010\014\210F\220!\320\023<\270F\300,\310d\320RT\320TW\320WX\320\004;\2702\270X\300Q\300i\310q\360\010\000\t\014\2101\330\014\032\320\032-\250Q\250f\260K\270v\300T\310\022\3101\330\010\017\210q\200\001\340\0312\260!\360\006\000\005\014\2105\220\007\220q\330\004\014\210E\220\033\230A\230Y\240a\330\004\007\200t\2101\330\010\017\210q\330\004\020\220\005\220R\220r\230\027\240\001\240\021\330\004\007\200q\330\010\r\210R\210u\220A\340\010\014\210E\220\022\2201\330\010\013\2104\210q\330\014\023\2201\360\006\000\005#\240#\240Q\240g\250R\250q\360\010\000\005\t\210\003\2108\2209\230A\230Q\330\010\033\320\033-\250Q\250a\330\010\013\320\013\034\230B\230b\240\003""\2403\240a\240q\330\014\021\220\021\220%\220q\330\r\036\230b\240\001\330\014\036\230a\340\004\007\320\007\027\220r\230\023\230A\230Q\340\010\032\230!\340\004\007\320\007\027\220r\230\021\330\010\025\220T\230\023\320\034/\250r\260\021\330\010\020\220\001\330\014\027\220r\230\030\240\025\240c\250\032\2601\330\014\020\220\010\230\001\340\t\031\230\022\2301\330\010\034\320\034,\250B\250a\330\010\020\220\001\330\014\020\220\001\220\033\230E\240\023\240J\250a\330\014\020\220\010\230\001\360\006\000\005\014\2102\210U\220!\2201\320\0042\260!\330\010\014\210F\220!\320\0233\3203E\300Q\320\0042\260!\330\010\014\210F\220&\230\014\240J\250l\270!\330\014\017\210t\220>\240\024\240T\250\024\320-@\300\004\300L\320PV\320Va\320ab\320bc\330\020\027\220t\320\0339\270\021\270!\340\020\027\220t\320\033,\250A\250Q\330\014\017\210t\2201\330\020\024\220F\230!\230=\250\002\250!\330\021\025\220Q\330\020\024\220F\230!\230>\250\026\250t\260=\300\001\300\024\300Q\340\020\024\220F\230!\230;\240g\250T\260\032\2703\270d\300!\340\010\013\210<\220q\330\014\017\210t\220:\230Q\330\020\031\230\021\340\020\031\230\021\340\014\020\220\006\220a\320\027*\250(\260&\270\001\330\014\020\220\006\220a\320\0275\260X\270V\3001\330\014\020\220\006\220a\320\027*\250(\260&\270\001\320\0043\2601\330\010\014\210I\220Q\330\014\017\210t\220:\230S\240\005\240Q\330\020\023\2205\230\001\330\024\030\320\030(\250\001\250\021\340\024\030\230\017\240q\250\001\320\0043\2601\360\014\000\t\r\210J\320\026.\250a\330\010\014\210F\220!\2201\330\014\r\330\014\022\220!\330\014\022\220!\330\014\022\220!\330\014\020\220\014\230K\240q\250\001\330\014\r\340\010\014\210L\320\030)\250\021\330\014\027\220|\2401\320$@\300\001\320\0043\2601\330\010\020\220\004\220L\320 4\260A\330\014\022\220+\230Q\330\010\017\210t\320\023(\250\001\250\021\320\0043\2608\2701\340\010\017\210u\220G\230=\250\004\250E\260\027\270\r\300T\310\025\310g\320UV\330\0148\270\014\300F\310.\320XY\320Y]\320]^\340\010\030\230\001\330\010\024\220A\360\014\000\t\r\210I\220\\\240""\026\240q\250\001\330\014\024\220E\230\026\230r\240\030\250\021\250&\260\001\330\014\024\220B\220d\230!\2308\2405\250\001\340\014\017\210s\220!\2207\230#\230Q\330\020\021\330\014\026\220b\230\006\230a\230}\250G\2602\260Q\330\014\023\2208\2307\240!\330\020H\310\001\310\036\320WX\320X\\\320\\]\340\014\026\220k\240\036\250w\260g\270Q\330\014\031\230\027\240\001\330\020\"\240!\2405\250\t\260\026\260t\2704\270x\300v\310T\320QX\320Xc\320ci\320ij\360\006\000\t\020\210q\320\0104\260A\330\014\r\210V\2201\320\024&\240a\330\014\r\210V\2201\220A\320\025(\250\001\320)9\270\021\200\001\330\004\013\2104\210q\330\004\023\2208\230;\240a\240q\330\004\005\340\004\005\340\004\013\2108\2201\220E\230\021\320\004\"\240!\330\010\013\2104\210s\220!\330\014\r\330\010\013\2104\320\017 \240\004\240D\320(8\270\002\270#\270S\300\003\3002\300Q\330\014\r\330\010\014\210M\230\025\230a\320\004\031\230\031\240!\330\010\013\2104\210z\230\024\230T\240\021\330\014\020\220\014\230A\330\010\013\2104\210|\230?\250$\250d\260!\330\014\031\230\026\230t\2404\240q\330\014\020\220\r\230Q\230j\250\001\250\027\260\001\260\033\320<T\320TU\330\010\013\2101\330\014\017\210q\330\020\024\220I\230Q\230a\340\020\024\220D\230\001\230\021\330\010\014\210M\230\021\230!\330\010\014\210G\2201\320\0045\3205E\300Q\360.\000\t\014\2104\320\017 \240\004\240D\250\004\250A\330\014\023\2204\220q\330\r\021\220\036\230t\2404\240t\2501\330\014\023\2204\220q\330\r\021\220\021\330\014\023\2207\230!\330\014\023\220:\230[\250\001\250\021\330\r\021\220\036\230t\2404\240t\320+>\270d\300$\300f\310K\320WX\320XY\330\014\020\220\006\320\026'\240q\250\013\260<\270q\320@R\320RS\330\010\013\2104\210t\2201\360\006\000\r\032\230\021\340\010\023\2204\220{\240$\240b\250\006\250a\330\010\013\2109\220D\230\t\240\027\250\005\250T\260\030\270\021\270!\330\014\025\220X\230Q\230b\240\004\240A\330\014\024\220A\220R\220w\230a\230q\340\014\r\330\020\024\320\024%\240Q\330\020\031\230\027\240\003\2406\320)B\300$\300a\330\020\023\2207\230'\240\024\240^\2601\330""\014\020\320\020 \240\007\240r\250\030\260\026\260|\3001\330\014\017\210t\2201\330\020\024\220M\240\024\240Q\240a\330\010\014\320\014\034\230A\230[\250\006\250a\330\010\013\210:\220Q\330\014\020\220\006\220f\230A\320\035<\270H\300F\310&\320P^\320^_\340\010\013\2104\210q\330\014\020\320\020$\240B\240b\250\004\250B\250h\260a\340\010\017\210q\320\0045\260Q\330\010\016\320\016 \320 0\260\001\330\010\022\220(\230!\2306\320!1\260\021\330\010\013\2101\330\014\020\220\006\220a\320\027<\270G\3001\340\014\020\220\006\220a\320\0279\270\027\300\001\320\004(\250\001\340\010 \240\004\320$5\260Q\260f\270G\3001\330\010\024\220H\320\0340\260\001\260\024\260[\300\001\330\010\017\210q\200\001\360\006\000\005\022\220\022\2205\230\010\240\001\240\022\2405\250\010\260\001\260\022\2605\270\010\300\001\300\021\330\004\013\2102\210U\220%\220q\230\014\240A\320\0046\3206H\310\001\330\010\014\210F\220!\2205\230\001\230\024\230Q\330\010\014\210J\220d\230!\340\014\020\220\006\220a\220y\240\001\240\026\240w\250a\250v\260X\270Q\270f\300A\330\010\014\210F\220!\320\0046\3206P\320PQ\330\010\031\230\021\330\010\013\2105\220\014\230C\230u\240F\250#\250Q\330\014\023\2207\230!\330\014\017\210u\220F\230'\240\021\330\020\023\2209\320\0341\260\021\260%\260q\360\014\000\025&\240Q\330\025\032\230&\240\003\240>\260\024\260T\270\024\270\\\310\033\320TU\320UV\360\n\000\026\027\330\024\025\340\010\027\220u\230J\240m\2601\330\010\013\2104\210q\330\014\r\330\010\013\2105\220\001\330\014\034\230A\230Y\240a\330\010\023\320\023&\320&>\270a\270z\320Ib\320bg\320gh\340\010\017\210u\220J\320\0363\2601\330\010\013\2105\220\003\2201\330\014\027\320\027/\250s\260&\270\001\330\010\025\220U\230%\320\0373\2601\330\010\013\2101\360\010\000\r\024\2209\230O\2501\250D\260\014\270L\320H`\320`a\320af\320fg\330\014\034\230D\320 8\270\001\330\014\017\210q\330\020\024\220F\230!\2301\330\010\014\210F\220!\330\014\r\330\020\021\330\020\021\330\020\023\2205\230\001\230\021\330\020\025\220^\2405\250\n\260!\330\020\021\330\010\013\210?\230$""\230a\330\014\020\220\006\220a\220q\320\004@\300\r\310_\320\\]\330\010\014\320\014\"\240!\2406\250\027\3200D\300A\330\036$\240G\2509\260A\320\004*\250!\330\010\013\2107\220'\230\021\330\014\017\210w\220c\230\024\230Q\340\020\027\220q\330\014\020\320\020&\240d\250!\2501\330\010\017\210t\2206\230\021\230!\320\0047\260q\330(9\270\021\340\010\013\2105\220\014\230C\230z\250\024\250U\260+\270S\300\005\300Q\340\014\r\330\010\013\2105\220\014\230C\230z\250\024\250T\260\025\260a\340\014\r\330\010\013\2104\210u\220A\330\014\020\220\004\220A\220Q\330\010\013\2101\330\014\020\220\004\220A\220V\2302\230Q\330\010\013\2105\220\001\330\014\020\220\004\220A\220U\230%\320\037=\270Q\330\020\025\220X\230\\\250\021\340\014\020\220\004\220A\220U\230%\320\0370\260\001\330\020\025\220X\230\\\250\021\330\010\013\2105\220\006\220g\230Q\330\014\020\220\t\230\021\230(\240\"\240E\250\025\250m\2701\270E\300\021\330\r\022\220%\220q\330\014\020\220\004\220A\220Q\330\010\014\210F\220!\2201\330\010\014\210L\320\030/\250q\260\001\320\0047\260q\330\010\017\210t\2201\360\010\000\t\014\210;\220c\230\031\240#\240Q\340\014\027\220\177\240a\330\014\031\230\021\360\006\000\r\032\230\021\330\014\027\220x\230v\240Q\330\014\017\210y\230\004\230H\240I\250Y\260k\300\021\330\020\033\2301\330\020\037\230q\340\020\037\230r\240\025\240a\240~\260Q\260a\340\010\013\2101\330\014\025\220Q\330\r\030\230\003\2301\330\014\017\210z\230\021\230&\240\001\330\020\031\230\024\230Q\320\0367\260q\270\001\340\020\031\230\024\230Q\320\0369\270\021\270!\340\014\025\220Q\340\010\017\210x\220|\2401\330\010\013\2104\210|\2303\230a\330\014\020\220\016\230a\340\014\r\330\020\027\220t\230;\240a\240q\330\023\024\360\006\000\t\n\330\014\016\210a\210v\320\025'\240q\250\n\260,\270f\300A\330\016\017\210w\320\026&\240a\330\016\017\210t\2202\320\025%\320%7\260q\330\014\017\210q\220\004\220F\230!\2303\230a\230v\240Q\360\006\000\t\025\220M\240\021\320\"2\260*\270H\300A\330\010\014\210K\220q\230\007\230q\330\010\017\210q\320\004\"\240!\330\010\013""\2108\2203\220a\330\014\017\210t\2209\230G\2401\330\020\032\230$\230a\330\010\013\2108\2207\230!\330\014\023\220;\230a\230v\240Q\340\010\014\210G\2206\230\021\230#\230T\240\027\250\002\250'\260\021\260,\270j\310\001\320\0048\3208L\310A\340\010\022\220$\220f\230A\230Q\340\010\027\220q\330\010-\250Q\330\010+\2501\360\006\000\t\r\210D\220\r\230W\240I\250Y\260a\260q\330\014\030\230\007\230q\240\004\240G\2501\250A\330\014\017\210\177\230d\240\"\240D\250\001\330\020!\240\021\330\014\023\2206\230\021\230*\240A\240W\250A\250V\3203E\300Q\300a\330\014\035\230Q\340\0103\2603\260a\260q\360\006\000\t\r\210C\210w\220h\230a\330\014\030\230\007\230q\240\004\240K\250v\260T\270\037\310\004\310K\320WX\330\014\023\2206\230\021\230*\240A\240W\250A\250V\3203E\300Q\300a\330\014\035\230Q\340\010\020\220\004\220A\220S\230\001\230\025\230a\330\010\027\220s\230%\230q\240\001\340\010\014\210D\220\006\220a\220q\330\010\t\210\026\210q\220\001\360\006\000\t\n\210\026\210q\330\014\r\330\014)\250\021\250#\250Q\250f\260K\270q\340\014\030\230\001\230\023\230E\240\021\240!\2407\250\"\250G\2604\260z\300\021\360\010\000\t\r\320\014\035\230Q\230k\250\034\260Q\3206J\310!\340\010\021\220\021\330\010\014\210M\230\033\240L\260\010\270\001\270\021\330\014\017\210y\230\003\2301\330\020\021\330\014\037\230x\240q\250\001\330\014\017\210s\220!\320\023%\240S\250\003\2501\250N\270\"\270A\330\020\021\340\014\017\210z\230\023\230A\340\020\027\220|\2403\240c\250\021\330\020\030\230\001\330\021\033\2303\230a\340\020\030\320\0307\260q\270\001\340\020\030\320\0307\260q\270\001\340\014\r\210V\2201\220C\220q\230\010\240\004\240L\260\t\3209P\320PQ\320Q]\320]^\320^a\320ab\320bc\330\014\025\220Q\330\014\034\230N\320*?\270q\330\020\036\320\0361\260\021\260!\330\014\r\210V\2201\320\0243\2601\3204G\300u\310A\330\014\r\210V\2201\320\024G\300q\310\003\3101\320L`\320`a\320ab\330\014\r\210V\2201\220A\320\025(\250\001\250\030\260\024\260Q\340\014\r\210V\2201\220A\330\014\r\210V\2201\220A\330\014\r\210V\2201\320\024C\3001\300A\300[""\320PQ\320QU\320UV\330\014\r\210V\2201\220A\340\010\013\2101\330\014\r\210V\2201\320\0242\260!\2603\260a\260q\330\010\030\230\016\320&;\2701\330\014\032\320\032-\250Q\250a\330\010\t\210\026\210q\320\020-\250Q\320.A\300\025\300a\330\010\t\210\026\210q\220\001\330\010\t\210\026\210q\220\001\330\010\013\2101\330\014\r\210V\2201\220A\360\006\000\t\n\210\026\210q\320\020)\250\021\250!\320+L\310A\310V\320ST\330\010\t\210\026\210q\220\001\360\006\000\t\014\320\013!\240\022\2401\360\016\000\r\016\210V\2201\220G\2301\230I\320%;\2703\270j\320Ha\320ab\320bc\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\330\014\017\210\177\230c\240\021\330\020\021\220\026\220q\320\0305\260Q\260a\330\014\r\210V\2201\220A\330\014\r\210V\2201\220A\330\014\r\210V\2201\220A\220[\240\001\240\024\240Q\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\330\014\r\210V\2201\220A\330\014\r\210V\2201\220A\360\006\000\t\014\320\013!\240\022\2403\240a\240q\330\014\r\210V\2201\220G\2301\230I\240S\250\001\250\027\260\003\260:\320=O\310q\320Pl\320lm\320mp\320pq\320qr\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\330\014\r\210V\2201\220A\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\330\014\r\210V\2201\220A\330\014\r\210V\2201\220A\220[\240\001\240\024\240Q\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\340\010\t\210\026\210q\220\001\360\006\000\t\n\210\026\210q\320\020-\250Q\250c\260\021\260!\330\010\t\210\026\210q\220\001\330\010\t\210\026\210q\220\001\220\033\230A\230T\240\021\330\010\t\210\026\210q\220\001\330\010\t\210\026\210q\220\001\360\n\000\t\014\320\013!\240\022\2403\240a\240q\330\014\020\320\020&\240a\240~\260Q\3206O\310s\320RS\320SZ\320Z\\\320\\s\320st\340\010\t\210\026\210q\220\001\320\0048\270\014\300A\330\010\017\210y\230\002\230%\230q\360\006\000\t\r\320\014 \240\001\240\026\240u\250G\2601\330\010\013\2105\220\001\330\014\020\220\014\230A\230Q\320\004$\320$;\2709\300A\320\004$\320$;\2709\300A\330\010\"\240$\240a\330\014\020\320\020*\250$\250k\270\034\300V\3108\320ST\360\006\000""\t\014\2104\210z\230\024\230T\240\021\330\014\020\220\016\230d\240!\330\020\033\320\033,\250A\250\\\270\030\300\024\300Q\340\010\013\2101\330\014\020\320\0202\260!\260;\270a\270t\3001\330\010\023\320\023,\250G\2601\260D\270\001\340\010\013\2104\210q\330\014\020\320\020\"\240!\240;\250a\250t\260?\300-\310y\320X`\320`a\330\010\013\2104\210q\330\014\020\320\020\"\240!\240;\250a\250t\260?\300-\310q\330\010\013\2104\210v\220T\230\024\230Q\330\014\020\320\020\"\240!\240;\250a\320/D\300M\320QY\320Ya\320ab\330\010\013\2104\210y\230\004\230G\2401\330\014\020\320\020\"\240!\240;\250a\320/C\300=\320PQ\330\010\013\2104\210q\330\014\020\320\020\"\240!\240;\250a\320/I\310\035\320VW\330\010\013\2104\210q\330\014\020\320\020\"\240!\240;\250a\320/R\320R_\320_`\330\010\013\2104\210q\330\014\020\320\020\"\240!\240;\250a\320/O\310}\320\\]\340\010\013\2104\210q\330\014\020\320\020'\240q\250\001\320\0049\270\021\330\010\013\2104\210q\330\014\023\2201\330\010\017\210v\220R\220s\230%\230q\240\001\240\026\240q\250\002\250#\250T\260\025\260a\320\0049\270\021\330\010\014\320\014\036\230a\330\010\014\320\014\035\230Q\330\010\014\320\014#\2401\330\010\014\320\014 \240\001\330\010\014\320\014\037\230q\330\010\014\320\014*\250!\330\010\014\210O\2301\330\010\014\320\014*\250!\330\010\014\210I\220Q\330\010\014\210O\2301\360\006\000\t\r\320\014!\240\021\330\010\014\320\014\"\240!\330\010\014\320\014!\240\021\330\010\014\320\014)\250\021\330\010\014\320\014$\240A\330\010\014\320\014\037\230q\330\010\014\320\014%\240Q\330\010\014\320\014$\240A\330\010\014\320\014\037\230q\330\010\014\320\014(\250\001\330\010\014\320\014(\250\001\340\010\016\320\016\037\230q\240\001\330\010\014\210N\230!\200A\200A\330HI\360\024\000\t\020\210s\220%\220q\320\030(\250\r\260Q\340\010\013\2104\210q\330\014\024\220D\230\014\240A\240T\250\021\330\024\030\230\014\240A\240T\250\021\340\010\020\220\010\230\004\230A\330\010\t\360\022\000\t\020\210q\220\001\330\010\017\210r\220\025\220a\220y\240\002\240%\240q\250\001\200A\330IJ""\330\010\013\2108\2203\220a\330\014\r\340\010\017\210t\2205\230\001\230\021\330\010\013\2105\220\004\220M\240\023\240E\250\024\250Y\260c\270\024\270Q\270a\330\014\r\330\020\033\2308\2401\240E\250\033\260A\260T\270\021\270!\330\014\024\220J\230o\250Q\330\020\026\220l\240!\330\024<\270A\270V\3001\300O\320ST\320T`\320`e\320ef\320fg\330\014\017\210y\230\003\2301\330\020\026\220l\240!\330\024\\\320\\]\320]c\320cd\320dj\320jk\320kw\320wx\330\014\023\2201\360\006\000\t\020\210u\220B\220m\2402\240Q\340\010\013\2105\220\003\2201\330\014\023\2201\220E\230\021\330\r\022\220#\220Q\330\014\023\2201\220E\230\021\340\014\027\220w\230a\230q\330\014\024\220A\220X\230Q\340\010\013\2101\330\014\027\220w\230a\230q\330\014\020\220\n\230.\250\004\250F\260!\330\020\030\230\013\2401\240M\260\023\260G\2701\270A\200A\330\010\016\320\016 \320 0\260\001\330\010\017\210x\220q\320\030(\250\006\250a\200A\330\010\014\320\014\035\320\0351\260\021\260!\200A\330\010\020\220\004\320\024+\2501\250A\330\010\014\210K\220q\230\007\230v\240Q\330\010\014\320\014\037\230q\240\017\250q\330\010\017\210q\200A\330\010\017\210|\2301\230D\240\001\200A\330\010\021\220\022\2201\220J\230c\240\021\240!\2406\250\027\260\001\260\027\270\001\270\026\270w\300a\300v\310Q\310h\320VW\320Wd\320de\330\022\026\220e\2304\320\037/\250w\260a\330\010\016\210e\2201\330\010\013\2104\210q\330\014\r\340\010\031\230\023\230A\230Q\330\010\014\210F\220!\220?\240&\250\001\250\034\260Q\260f\320<N\310a\310q\340\010\014\320\0146\260a\260v\320=O\320O_\320_r\320rs\340\010\032\230!\330\010$\240A\240Q\330\010\032\230!\330\010\035\230Q\330\010\025\220Q\340\010\014\210I\220S\230\003\2307\240,\250e\2601\330\014\024\220A\220Q\330\014\017\210x\220s\230!\330\020\037\230w\240b\250\007\250q\340\020\037\230u\240N\260!\2601\330\020\035\230\\\250\033\260A\330\020\023\220;\230c\240\021\330\024\033\230;\240b\250\003\2503\250b\260\002\260\"\260D\270\003\2701\320<W\320WY\320YZ\330\0301\260\027\270\001\270\021\360\n\000\031&\240T\250\022\2503\250a\320/J\310\"""\310A\330\024*\250!\330\024-\250R\250r\260\027\270\002\270'\300\022\3001\300N\320RS\340\024#\2407\250\"\250G\2601\340\010\014\210D\220\006\220a\220q\330\010\022\220$\220f\230A\230Q\340\010\033\2306\240\025\240g\250U\260+\270Q\360\n\000\t'\240e\2501\360\010\000\t+\250*\260A\360\010\000\t'\240k\260\026\260~\300Q\360\020\000\t.\250Q\340\010\013\2101\330\014\r\210V\2201\220A\330\014\r\210V\2201\320\024-\250Q\250a\320/P\320PQ\320QW\320WX\340\014\027\220q\230\003\230?\250*\260A\330\014\034\230A\230Y\320&7\260q\340\014\"\240!\2403\240c\250\021\250!\330\014\033\2301\230C\230t\240=\260\001\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\330\014\037\230s\240!\2401\340\010\013\320\013\036\230b\240\001\330\014\r\210V\2201\220A\330\014\r\210V\2201\320\024-\250Q\250a\320/P\320PQ\320QW\320Wl\320lm\320mn\340\014\030\230\001\230\024\230Z\240{\260+\270Q\330\014\033\2301\330\0144\260A\340\014\020\220\013\230=\250\t\260\021\3202M\310Q\330\020\023\2204\220q\330\024\025\340\020\035\320\035.\250a\250r\260\024\260Z\270r\300\021\330\020\033\2301\230C\230|\2509\260A\260\\\300\021\330\020 \240\001\240\031\250+\3205E\300R\300q\340\020\034\230C\320\037/\250q\260\001\330\020&\240c\250\021\250!\330\020\021\330\024!\240\032\2503\250c\260\021\260!\330\031 \240\001\320!8\270\001\360\006\000\r#\240!\2403\240a\330\014\030\320\030-\250S\260\001\3201L\310C\310w\320VW\330\014\033\2301\230C\230t\240=\260\002\260!\260<\270q\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\330\014\037\230q\340\010\013\2101\340\014\r\360&\000\r\016\210V\2201\220A\330\014\r\210V\2201\320\024-\250Q\250a\320/P\320PQ\320QW\320Wl\320lm\320mn\330\014\027\220x\230u\240A\240Q\240i\250q\260\001\260\021\260$\260d\270%\320?P\320PW\320WX\320XY\330\014\r\210V\2201\320\0240\260\001\260\036\320?T\320TU\320UV\330\014\034\230A\230Y\320&7\260q\340\014\"\240!\2403\240c\250\021\250!\330\014\r\210V\2201\220A\330\014\033\2301\230C\230t\240=\260\001\330\014\r\210V\2201\220A\330\014\r\210V\2201\220A\340\014\r\210V\2201\220A\340\010\014\320\014""\"\240!\330\014\r\320\r.\250a\250v\260Q\330\014\r\330\014\r\200A\330\010\023\2201\330\010\032\230!\330\010\034\230A\360\006\000\t\r\210C\210s\220%\220v\230Q\230b\240\003\2401\240A\240Y\250a\250x\260s\270$\270e\3004\320GZ\320Za\320ab\330\014\017\210q\220\001\330\020\030\230\007\230r\240\023\240A\240Q\240i\250q\260\010\270\001\270\021\330\014\017\210q\220\001\330\020\024\220M\240\021\240+\250W\260A\330\024\033\2301\230A\330\024\027\220y\240\014\250D\260\004\260J\270a\270v\300Q\330\030\037\230~\250^\2701\270D\300\007\300q\310\t\320Q[\320[^\320^_\340\025*\250)\3203D\320DT\320T[\320[\\\330\030!\240\030\250\024\250Y\260a\330\030!\240\021\330\030\031\360\006\000\t\021\220\005\220Q\330\010\027\220u\230A\330\010\031\230\025\230a\360\006\000\t\030\220t\2306\240\021\240!\330\010\014\210C\210w\320\026'\240q\330\014\027\220~\320%:\270!\2701\330\014\030\230\006\230a\330\020$\240A\240\\\260\021\260!\330\020\025\220Q\360\010\000\t\r\210C\210y\230\006\230a\230t\320#=\270V\3001\330\014\031\230\036\240~\3205M\310Q\310a\330\014\017\210q\340\020\034\230F\240!\2401\330\014\030\230\006\230a\320\037E\300W\310A\330\014\017\210q\330\020\034\230F\240!\2401\330\020\034\230F\240!\320#I\310\027\320PQ\330\020\034\230F\240!\2401\360\006\000\t\033\230#\230Q\320\036/\250r\260\023\260A\260Q\330\010\014\210F\220!\220?\240&\250\001\250\034\260Q\260f\320<N\310a\310q\330\010\014\320\0146\260a\260v\320=O\320O`\320`s\320st\340\010\014\320\014(\250\001\320)<\270A\200A\330\010\017\210|\2301\330\010\t\330\014\024\220D\320\030(\250\001\250\021\330\017\020\330\014\024\220D\320\030(\250\001\250\027\260\004\3204D\300A\330\020\033\230;\240l\260!\330\010\017\210q\200A\330\010\014\320\014*\250!\330\010\014\320\014+\2501\330\010\014\320\014*\250!\360\010\000\t\r\320\014&\240a\330\010\014\320\014#\2401\200A\330\010\t\330\014\020\220\001\330\014\020\220\001\200A\360\010\000\t\014\2102\210S\220\001\330\014\023\2201\330\010\017\210{\230!\2303\230i\240t\2507\260$\260a\200A\360\010\000\t\014\2102\210S\220\001\330\014\023""\2201\330\010\017\210r\220\022\2201\200A\330\010\t\330\014\020\220\001\330\014\020\220\001\330\014\020\220\001\330\014\020\220\001\200A\330\010\020\220\013\320\0333\2601\330\010\t\330\014\024\220D\230\017\240q\250\001\330\017\020\330\014\024\220C\220q\230\004\230A\330\014\020\220\016\230g\240Q\240a\330\014\020\220\017\230q\240\t\250\021\330\010\017\210q\200A\340\010\034\320\0343\2602\260S\270\001\270\021\330\010\014\320\014\035\230Q\230k\250\034\260Q\3206I\310\021\330\010\026\220d\320\0324\260A\260\\\300\021\330\010\017\210q\220\013\2302\230Q\330\010\017\210q\330\014\r\330\014\r\330\014\r\330\014\020\220\005\220Q\220a\200A\330\010\021\220\022\2203\220a\220q\230\t\240\021\240(\250!\330\022\026\220e\2304\230q\330\010\016\210e\2201\330\010\014\210C\210w\220e\2301\330\014\020\220\006\220a\220\177\240f\250A\250V\2602\260Q\260e\320;L\310A\310Q\330\014\017\210t\2201\220E\230\021\360\010\000\021\022\340\014\020\220\006\220a\320\027,\320,>\270a\330\020&\240a\240q\330\020\021\220\021\330\020$\240A\330\020\026\220a\360\006\000\r\020\210q\220\005\220Q\340\020\031\230\021\340\014\020\220\006\220a\320\027/\250v\260Q\330\0202\260!\2601\340\010\014\210H\220I\230V\2401\240D\320(=\270V\3001\330\014 \240\002\240!\2406\250\036\260q\270\001\330\014\020\220\006\220a\220\177\240f\250A\250]\320:M\310Q\310a\360\006\000\r\021\320\020:\270!\320;N\310g\320Uh\320hi\340\014\034\320\0349\270\021\270!\330\014\017\210~\230W\240E\250\024\250^\2703\270g\300Q\330\020\036\230d\240&\250\001\250\021\330\020\033\2304\230q\320 5\260Q\260a\330\020\033\2306\240\021\330\024(\250\001\330\030#\320#D\300A\300S\310\001\200A\330\010\t\330\014\023\2204\320\027+\2501\250A\330\017\020\340\010\026\220k\240\032\2501\250I\260Y\270o\310Q\330\010\014\210A\210V\2201\330\020\024\220H\230A\330\024\032\230!\330\021\031\230\021\330\024\032\230!\330\025\031\230\023\230J\240a\330\014\020\220\010\230\001\340\010\013\2104\210s\220!\2207\230!\2301\330\010\014\320\014 \240\001\240\037\260\001\330\010\017\210q\200A\330\010\013\2104""\210{\230#\230Q\330\014\r\330\010\014\210J\220n\240A\330\010\014\210M\230\021\200A\330\010\013\2104\210|\230;\240a\240q\330\014\020\220\014\320\034-\250Q\250k\270\034\300Q\300k\320QR\340\014\020\220\014\320\034-\250Q\250k\270\034\300Q\300m\320ST\200A\340\010\013\2104\210{\230$\230d\240*\250K\260t\2704\270|\310;\320VW\320WX\330\014\020\220\007\220q\330\014\020\220\r\230Q\330\020\"\240!\2403\240a\240r\250\024\250Q\250d\260.\300\001\300\024\300T\310\021\310$\310d\320R\\\320\\f\320fj\320jk\320ko\320oz\320z{\320{|\200A\330\010\013\2104\210q\330\014\023\2204\320\027,\250A\250T\260\021\340\014\023\2204\220q\200A\340\010\013\2104\210q\330\014\030\230\004\230M\250\021\330\014\017\210q\330\020\026\320\026F\300c\310\024\310V\320SZ\320Z^\320^c\320cd\320de\330\024!\240\026\240q\330\024\030\230\006\230g\240]\260&\270\001\270\021\360\006\000\021\027\220l\240!\2401\200A\360\n\000\t\014\2104\210s\220!\330\014\024\220A\220Q\220a\330\014\021\220\037\240\001\240\024\240[\260\005\260Q\330\014\021\220\027\230\007\230q\240\004\240A\340\014\r\210Q\210g\220Q\200A\330\010\013\2104\210s\220$\220j\240\001\330\014\020\220\006\220a\220w\230b\240\001\200A\330\010\013\2104\210t\2201\330\014\r\330\010\021\220\026\220q\230\001\330\010\014\320\014\036\230a\230x\240x\250q\360\006\000\t\017\210f\220A\220U\230\"\230F\320\"6\260a\260v\270Q\330\010\016\210f\220A\200A\330\010\013\2104\210t\2201\330\014\r\340\010\017\210t\2206\230\021\230!\330\010\017\210t\2206\230\021\230!\340\010\014\210F\220!\2201\330\010\014\210F\220!\2201\340\010\021\220\021\330\010\014\210A\210\\\230\036\240y\260\006\260a\260t\320;K\3106\320QR\330\014\022\220'\230\021\230!\330\014 \240\004\320$<\270A\270^\310>\320YZ\320Zg\320gh\330\014\020\220\006\220a\320\0273\2601\330\020\021\340\014\020\220\006\220a\220q\330\020\024\320\0245\260Q\260h\270a\340\014\020\220\006\220a\330\020\022\220!\2204\320\0278\270\001\270\021\330\020\023\2201\220D\320\0309\270\021\270!\340\010\013\2107\220!\330\014\026\220d\230&\240\001\240\021\330\014\020\220""\t\230\021\330\020\027\220v\230Q\230k\250\021\250$\320.O\310q\320PQ\200A\330\010\013\2104\210z\230\027\240\003\2401\360\014\000\r\024\2204\320\0278\270\001\270\021\330\010\017\210t\220:\230V\320#8\270\001\270\021\200A\330\010\013\2105\220\003\2201\330\014\020\220\r\230Q\230a\340\014\020\320\020!\240\021\240!\200A\360\016\000\t\014\2105\220\003\2201\330\014\027\320\027(\250\016\260g\270Q\270f\300A\330\010\017\210q\330\010\024\220C\320\0270\260\001\260\021\330\010\017\210v\220W\230I\240Q\240a\340\010\013\2101\330\014\017\210}\230C\230u\240D\250\n\260#\260T\270\021\270!\330\020\023\2204\220z\240\021\240%\240q\330\024\033\320\033-\250U\260!\3203C\300=\320PQ\330\014\032\230&\240\005\240Q\330\014\020\220\006\220j\240\004\240F\250!\330\020\023\2205\230\003\2301\330\024\025\340\020\023\2205\230\003\2301\330\024\027\220q\330\030!\240\021\240#\240U\250!\2505\260\r\270Q\330\"&\240g\250V\2601\260A\360\006\000\031\"\240\021\240#\240\\\260\021\260%\260q\330\"&\240g\250V\2601\260A\330\025\032\230#\230Q\360\006\000\025\036\230W\240C\240z\260\021\330\024\027\220t\2301\330\030\031\330\025\031\230\021\330\024\035\230Q\330\025\030\230\001\230\030\240\023\240A\330\024\035\230T\240\021\240'\250\021\250!\330\020\026\220a\220x\230q\340\010\013\2106\220\027\230\001\330\014\022\220!\220;\230a\330\010\013\2105\220\007\220q\330\014\022\220!\220:\230Q\340\010\013\2107\220'\230\021\330\014\022\220!\220:\230Q\340\010\013\2107\220'\230\027\240\004\240A\330\014\022\220!\220:\230Q\330\010\017\210s\220#\220Q\200A\330\010\013\2105\220\001\330\014\023\2205\230\001\340\014\023\2204\320\027,\250A\250U\260!\200A\330\010\013\2105\220\014\230D\240\005\240Q\330\014\017\210t\220?\240!\2405\250\010\260\001\330\020\024\320\024&\240a\240q\330\020\027\220u\230A\330\020\023\2205\230\003\2301\330\024\033\320\0333\2601\260A\330\020\024\320\024,\250A\330\024\031\230\026\230~\250^\2701\270A\330\024\031\230\021\200A\330\010\013\2105\220\007\220t\2301\330\014\020\320\020 \240\001\240\030\250\021\330\014\020\220\013\2301""\230H\240A\330\r\021\220\033\230A\230Q\330\014\023\2204\220{\240!\2405\250\004\250A\250Q\330\010\020\220\007\220s\230&\320 9\270\024\270Q\330\010\014\210F\220,\230a\230t\2406\250\025\250g\260V\2707\300%\300v\310X\320UV\330\010\014\320\014\034\230A\230U\240'\250\021\250!\330\010\014\320\014\034\230A\330\010\017\210q\200A\330\010\013\2106\220\023\220A\330\014\r\330\010\013\2105\220\001\330\014\020\320\020!\240\021\240%\240q\330\010\013\2105\220\001\330\014\020\320\020!\240\021\240%\240q\330\010\017\210w\220a\330\010\014\210F\220*\320\034-\250Q\250e\2601\330\014\017\210w\220a\220t\2309\240D\250\002\250'\260\027\270\001\330\020\024\320\024+\2501\250B\250a\200A\330\010\013\2106\220\023\220D\230\001\330\014\024\220D\320\030(\250\001\250\021\330\014\023\2203\220a\220u\230G\2403\240c\250\021\250%\250q\330\014\023\2205\230\006\230c\240\025\240a\330\014\023\2201\340\014\020\320\020 \240\001\240\031\250!\330\014\023\2201\200A\340\010\020\220\013\2307\240!\2409\250A\330\010\017\210t\320\023#\2401\240F\250!\200A\330\010\013\2107\220!\330\014\023\220?\240\"\240A\340\014\023\2201\200A\330,7\260u\270A\320=T\320TU\330\010\014\210L\320\030)\250\021\250!\330\010\014\210F\220!\320\0239\270\021\270!\200A\330\010\013\2108\2203\220a\330\014\025\220Q\330\014\026\220a\330\010\021\220\026\320\027)\250\021\250!\340\010\020\220\005\220X\230Q\230e\2404\240x\250q\260\005\260T\270\030\300\021\300%\300q\330\010\013\2103\210a\210w\220b\230\001\340\014\024\220D\320\030+\2501\330\020\027\220r\320\031+\2502\250U\260\"\260D\270\002\270(\300\"\300E\310\022\3101\340\014\024\220G\2303\230h\240a\330\010\017\210q\200A\330\010\020\220\004\320\024$\240A\240Q\330\010\014\210M\230\021\230'\240\021\330\010\014\320\014\"\240'\250\021\250!\360\010\000\t\020\210q\200A\330\010\014\320\014\034\230A\230U\240(\250%\250w\260m\3001\200A\340\010\014\320\014,\250A\250V\260=\300\t\310\021\200A\330\010\014\320\014\034\230A\230V\2401\320\004,\250A\360\010\000\t\r\320\014\034\230A\230V\2407\250&\260\001\200A\330\010\014\210A""\210]\230&\240\001\320!8\270\002\270%\270q\200A\340\010\014\320\014\034\230A\330\010\014\210F\220!\2201\320\004@\300\014\310A\330\010\024\220A\330\010\025\220Q\340\010\013\210<\220s\230!\340\r\030\230\001\330\014\035\230[\250\014\260A\260Q\330\r\030\230\001\330\014\035\230Q\330\r\030\230\001\340\014\035\230Q\330\r\030\230\001\330\014\031\230\021\330\014\030\230\004\230A\230[\250\001\360\010\000\r\036\230Q\340\010\031\230\024\230[\250\001\250\021\330\010\014\210F\220!\2203\220l\240!\320#3\260<\270q\300\004\300N\320RS\320SZ\320Z[\320[_\320_`\320`f\320fk\320kl\320lm\200A\360\006\000\t\022\220\033\230A\230]\250(\260!\330\010\017\210q\200A\330\010\014\210B\210f\220A\220\\\240\024\240R\240t\2508\2601\200A\330\010\t\330\014\020\220\004\320\024$\240B\240k\260\021\330\017\020\330\014\020\220\004\220N\240!\240;\250i\260q\330\010\017\210q\200A\340\010\024\220C\220\177\240d\250!\2501\330\010\013\2101\330\014\023\2201\340\010\013\2106\220\022\2205\230\t\240\021\240!\330\010\013\2104\210t\2208\2307\240(\250!\330\014\026\220a\330\014\035\230W\240A\240R\240x\250q\3200L\310F\320RS\330\014\025\220S\230\001\340\014\026\220a\330\014\035\230W\240A\240R\240x\250q\3200H\310\006\310a\330\014\025\220W\230A\230R\230x\240q\250\r\260V\2701\340\010\030\230\003\320\0337\260q\270\001\330\010\025\220S\230\001\340\010\024\320\024'\240q\250\001\340\010\024\220K\230q\240\001\330\010\020\220\001\330\010\017\210{\230!\2301\330\010\022\220'\230\027\240\001\330\010\027\220q\340\010\014\210H\220H\230I\240Q\240a\330\014\020\220\r\230Q\230a\330\014\017\210r\220\023\220A\330\020\025\220W\230A\230V\2401\240N\260!\2601\330\021\022\220&\230\001\230\021\330\020\023\220=\240\001\240\031\250&\260\006\260g\270^\3101\340\020\037\230w\240b\250\001\330\020\024\220E\230\021\330\020\024\220F\230!\340\020\027\220q\230\006\230a\230q\330\020\030\230\n\240!\2401\330\020\023\2201\330\024\032\230'\240\025\240g\250Q\340\024\033\2301\330\020\032\230)\2401\240A\340\020\034\230A\230V\2401\240A\330\020\023\2204\220w\230a\330\024""\032\230,\240a\320'<\270A\320=\\\320\\]\320]c\320cd\320de\340\020\032\230#\230\\\250\031\260*\270A\270Q\330\020\033\2308\2407\250!\330\020\034\230I\240V\2501\340\020\023\2209\230H\240L\260\016\270a\330\024\032\230,\240a\320'A\300\021\320B`\320`a\320ag\320gh\320hi\330\020\023\2204\220r\230\026\230q\240\t\250\021\330\024\032\230,\240a\320'B\300!\320Cb\320bc\320ci\320ij\320jk\340\020\024\220A\220Y\230d\240!\2401\330\020\025\220W\230A\230Q\340\010\013\2108\2203\220a\330\014\022\220*\230A\230Q\360\006\000\t\014\210=\230\001\230\031\240&\250\006\250g\260^\3001\340\010\024\220D\230\001\230\021\330\010\013\210?\230!\2308\2401\330\010\017\210q\200A\330\010\017\320\017$\240C\240u\250A\250[\270\003\2702\270R\270r\300\023\300B\300a\200A\360\010\000\t\r\210D\220\n\230&\320 1\260\021\330\020\024\220J\230f\320$6\260a\330\020\024\220J\230f\240A\330\014\020\220\006\220a\220q\330\014\020\220\006\220a\320\027B\300!\3001\330\014\020\220\006\220a\220q\200A\330\010\014\210D\220\006\220a\220q\330\010\t\330\014*\250!\2506\3201J\310!\3106\320QR\360\006\000\t\014\2104\210t\2201\330\014\r\320\r\035\230Q\230a\330\014\r\210V\2201\320\024(\250\001\250\026\250q\330\014\r\210V\2201\220A\330\014\r\320\r\036\230a\330\014\r\210V\2201\220A\330\014\r\360\006\000\t\025\220A\330\010\030\230\001\330\010\032\230!\330\010\033\2301\330\010\023\2201\330\010\023\2201\330\010\014\210H\220D\230\001\330\014\027\220t\2301\330\014\017\210t\2208\2301\330\020#\2401\240O\2603\260a\260x\270w\300b\310\010\320PQ\330\020%\240Q\320&7\260x\270q\330\020&\240a\320'9\270\030\300\021\330\014\032\230!\230:\240S\250\001\250\024\250Q\330\014\032\230!\230:\240X\250T\260\021\260!\340\010\t\210\024\210Q\210h\220g\230Q\230a\340$%\240]\260+\270Q\330,-\320-=\270[\310\001\330+,\250O\270;\300a\330#$\240H\250K\260q\330!\"\240)\250;\260a\330&'\240x\250{\270!\360\010\000\t\r\320\014\035\230Q\230k\250\034\260Q\260n\300A\340\010\t\320\t\031\230\021\230!\340\010\t\210\026\210q\220\001\330\010\t\210\026\210q\220\001\340\010\014\210H\220D\230""\001\330\014\020\320\020!\240\021\240#\240Q\340\010\t\210\026\210q\220\001\330\010\t\210\026\210q\220\001\340\010\t\210\026\210q\220\001\330\010\t\210\026\210q\220\001\330\010\t\210\026\210q\220\001\330\010\t\320\t\032\230!\330\010\t\210\026\210q\220\001\340\010\034\230C\230q\240\004\240A\330\010\014\210F\220!\220?\240&\250\001\250\034\260Q\260f\320<O\310q\320PQ\340\010\014\320\0146\260a\260v\320=P\320Pc\320cv\320vw\200A\360\006\000\t\r\320\014(\250\001\340\010\014\210D\220\006\220a\220q\330\010\t\210\026\210q\220\001\330\010\013\2101\210K\220q\230\001\230\021\330\014\r\210Z\220q\230\001\230\021\330\014\r\210V\2201\220A\330\010\t\210\026\210q\220\001\330\010\t\320\t\032\230!\340\010\014\210D\220\006\220a\220q\330\010\014\210N\230!\2309\240A\330\014\017\210{\230#\230T\240\021\330\020\024\320\024*\250!\330\024\025\320\025*\250!\2506\260\036\270r\300\021\330\024\030\320\030-\250Q\250a\330\024\025\330\010\t\320\t%\240Q\330\010\t\210\026\210q\220\001\330\010\013\2101\210K\220q\230\001\230\021\330\014\r\210Z\220q\230\001\230\021\330\014\r\320\r)\250\021\330\014\r\210V\2201\220A\330\010\t\210\026\210q\220\001\330\010\t\320\t\032\230!\340\010\014\210H\220A\320\025%\240Q\330\014\020\220\004\220F\230!\2301\330\014\r\210V\2201\220A\330\014\017\210q\220\013\2301\230A\230Q\330\020\021\220\032\2301\230A\230Q\330\020\021\220\026\220q\230\001\330\014\r\210V\2201\220A\330\014\r\320\r\036\230a\340\010\013\2107\220!\330\014\020\220\004\220F\230!\2301\330\014\r\210V\2201\220A\330\014\r\320\r\036\230a\340\010\013\2107\220!\330\014\020\220\004\220F\230!\2301\330\014\r\210V\2201\220A\330\014\r\320\r\036\230a\200A\330\010\014\210D\220\006\220a\220q\330\010\037\230q\320 A\300\021\330\014\020\320\020(\250\001\250\025\250a\330\010\014\320\014\035\230Q\330\014\027\220|\2401\320$6\260a\330\010\t\210\026\210q\220\001\330\014\r\330\014\r\330\014\r\330\014\r\210[\230\001\230\021\200A\340\010\014\210E\220\026\220q\230\004\230A\330\014\020\220\006\220a\220t\2307\240!\2401\200A\330\010\014\210F\220!""\2201\200A\340\010\014\210F\220!\2201\330\010\014\320\014\034\230A\200A\330\010\014\210F\220!\2201\330\010\014\210F\220!\320\023#\2401\240F\250!\330\010\014\210F\220!\2201\200A\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\200A\330\010\014\210F\220!\2201\330\010\014\210F\220!\320\023%\240Q\240f\250A\330\010\014\210F\220!\2201\200A\340\010\014\210F\220!\2201\330\010\014\210G\2201\200A\330\010\014\210F\220!\320\0231\260\021\260$\260n\300A\300Q\320\004/\250}\270A\330\010\014\210F\220!\320\023*\250!\2504\250~\270Q\270g\300Q\300d\310!\3108\320SX\320XY\320Y]\320]^\320^d\320de\200A\330\010\014\210F\220!\2205\230\001\330\010\014\210F\220!\2201\200A\330\010\014\210F\220!\320\023*\250!\2506\260\021\200A\360\n\000\t\r\210F\220!\2209\230B\230a\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\200A\330\010\014\210F\220!\2209\230B\230a\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\200A\330\010\014\210F\220*\230D\320 0\260\006\260a\330\014\020\220\013\2301\230H\240D\250\001\250\021\200A\330\010\014\210F\220!\220=\240\002\240!\330\010\014\210F\220!\220=\240\002\240!\200A\330\010\014\210G\2206\230\021\230!\200A\360\006\000\t\r\210G\2206\230\021\330\010\014\210I\220T\230\021\200A\330\010\014\210G\2207\230!\2301\320\004,\250A\330\010\020\220\004\320\024(\250\001\250\027\260\001\330\010\014\210H\220A\220W\230G\2409\250A\330\010\014\320\014\034\230B\230g\240\\\260\021\330\010\017\210q\200A\330\010\014\210I\220Q\330\014\020\320\020 \240\001\240\021\200A\330\010\014\210I\220Q\330\014\020\320\020&\240a\240q\200A\330\010\014\210I\220Q\330\010\014\320\014\037\230q\330\010\014\210N\230!\330\010\014\210O\2301\200A\330\010\014\210J\220a\320\004\034\230A\330\010\014\210J\220a\200A\330\010\020\220\004\220J\230a\340\010\025\220U\230,\240d\250!\2506\260\025\3206H\310\003\3101\310A\330\010\017""\210u\220E\320\031-\250Q\330\010\031\230\024\320\035-\250Q\250c\260\021\260!\330\010\025\220T\230\033\240A\240Q\330\010\014\210F\220!\330\014\r\330\014\016\210a\210q\330\014\016\210a\210v\320\025'\240q\250\001\330\014\016\210a\210q\330\014\016\210a\210t\220>\240\021\240!\330\016\017\210q\330\014\r\200A\360\010\000\t\021\220\004\220J\230a\330\010\016\210f\220D\230\004\230G\2405\250\001\330\014\024\220E\230\021\330\010\017\210u\320\024-\250Q\250h\260k\300\021\320\004\034\230A\330\010\014\210J\220a\330\010\017\210q\200A\330\010\014\210J\220j\240\001\240\021\330\010\014\210F\220!\220;\230b\240\001\200A\330\010\020\220\004\220K\230q\240\014\250F\260'\270\024\270W\320DT\320TX\320Xh\320hi\330\010\017\210q\200A\330\010\014\210K\220q\230\005\230X\240U\250!\200A\330\010\014\210K\220q\230\005\230X\240U\250)\2601\200A\330\010\014\210L\230\001\200A\330\010\014\210L\230\004\230A\230Q\200A\330\010\014\210L\230\001\230\025\230h\240e\2501\200A\330\010\014\210L\230\001\230\025\230h\240e\2509\260A\200A\330\010\014\210M\230\035\240a\240v\250V\2601\200A\330\010\014\210M\230\021\230%\230x\240u\250A\200A\330\010\014\210O\2301\230E\240\030\250\025\250g\260]\300!\200A\330?@\360\010\000\t\020\320\017\"\240+\250Q\330\010\t\330\014\023\2207\230!\2301\330\017\020\340\010\017\210w\220a\220w\230c\240\025\240a\320':\270!\330\010\017\210q\200A\330\010\025\220Q\330\010 \240\004\240F\250!\2508\2604\260s\270*\300A\330\010\013\2104\210s\220!\330\014\022\220$\220f\230A\230Q\330\014\017\210s\220\"\220A\330\020\024\220J\230a\330\021\024\220C\220r\230\024\230T\240\021\240#\240S\250\001\340\020\035\230Q\330\020\024\220J\230a\330\010\013\2104\210q\330\014\020\220\007\220q\330\010\014\210F\220!\2201\330\010\014\210G\2201\330\010\013\2103\210b\220\001\330\014\020\220\n\230!\330\r\016\330\014\020\220\n\230!\200A\330\t\r\210Q\330\t\r\320\r\035\230Q\200A\330\t\r\210Q\330\t\r\210Q\330\t\r\210Q\330\t\r\320\r\035\230Q\200A\360\014\000\t\026\220Q\220a\330\r\024\220A\330\014\020\220\001\220\026\220}\240L\260\004\260K""\270v\300S\310\003\3101\330\014\020\220\t\230\030\240\021\240!\200A\330\010\014\320\014\035\230Q\230e\2408\2505\260\007\3207K\3105\320P_\320_`\200A\330\010\014\320\014\035\230Q\230f\240A\320\004-\250_\270A\330\010\014\320\014\035\230Q\230f\240G\2506\260\027\270\t\300\021\320\004,\250A\330\010\020\220\004\320\024)\250\024\250Q\250h\260a\330\010\014\320\014!\240\021\240*\250E\260\021\260!\330\010\017\210r\220\021\220&\230\017\240x\250q\260\001\200A\330,<\320<R\320RS\330\010\026\220e\2307\240!\2407\250&\260\010\270\r\300Q\330\010\017\210t\2201\220M\240\027\250\001\330\010\017\210u\220K\320\0372\260!\330\010\t\330\014\023\2207\230!\2301\330\017\020\340\010\017\210w\220a\220w\230c\240\025\240a\320':\270+\300X\310Q\330\010\017\210q\200A\330\010\025\220T\230\033\240A\240Q\330\010\014\210F\220!\320\023&\240a\320'8\270\001\270\024\270^\3101\310G\320ST\320TU\200A\330\010\025\220T\230\033\240A\240Q\330\010\014\210F\220!\320\023.\250a\250x\260q\270\004\270N\310!\3107\320RS\320ST\200A\330\010\025\220T\230\021\330\010\014\210C\210x\220y\240\001\240\024\240Q\330\014\020\220\004\220F\230!\2308\240:\320-=\270Q\330\014\017\210r\220\022\2201\330\020\021\220\026\220q\320\030:\270\"\270A\340\010\014\210D\220\006\220a\220q\330\010\t\320\t\031\230\021\330\014\r\330\014\016\210a\210v\320\025.\250a\250v\260Q\330\010\t\210\026\210q\320\020$\240A\240V\2501\340\010\014\210D\220\006\220a\220q\330\010\t\320\t\031\230\021\330\014\r\330\014\016\210a\210v\320\025.\250a\250v\260Q\330\014\025\220Q\330\010\t\210\026\210q\320\020$\240A\240V\2501\330\010\t\320\t$\240A\240^\260>\300\021\300!\340\010\014\210D\220\006\220a\220q\330\010\t\320\t\031\230\021\230!\340\010\014\210D\220\006\220a\220q\330\010\t\320\t\031\230\021\330\014\r\330\014\016\210a\210v\320\025.\250a\250v\260Q\330\010\t\210\026\210q\320\020$\240A\240V\2501\340\010\013\2104\210w\220a\330\014\020\220\004\220F\230!\2301\340\014\020\220\004\220F\230!\2301\330\014\r\320\r\035\230Q\330\020\021\330\020\022\220!\2206\320\0312\260!\2606\270\021""\330\014\r\210V\2201\320\024(\250\001\250\026\250q\340\010\017\210t\2206\230\021\230!\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\340\010\017\210t\2206\230\021\230!\330\010\013\2104\210|\2301\330\014\020\220\006\220a\220q\330\010\014\210F\220!\2201\330\010\014\210F\220!\2201\200A\330\010\025\220T\230\021\330\010\014\210H\220D\230\001\330\014\020\220\006\220a\220x\230z\320)9\270\021\200A\330\010\025\220T\230\037\250\001\330\010\025\220Q\330\010\014\210K\220x\230s\240!\240<\250q\260\014\270I\300Z\310q\330\014\017\210q\330\020\032\230'\240\021\240$\240j\260\001\260\021\340\020\032\230'\240\021\240!\330\010\014\210O\2301\230A\330\010\017\210q\200A\330\010\025\220U\230!\330\010\013\2105\220\001\330\014\033\2305\240\n\250-\260s\270#\270Q\330\014\022\320\022#\2401\330\014\017\210~\230S\240\001\340\020\035\230V\320#:\270\"\270A\330\020\024\220F\230!\320\033`\320`b\320bc\330\020\034\230K\240r\250\025\250a\330\020\023\2205\230\006\230c\240\021\330\024\030\230\006\230a\320\0375\260R\260q\340\024\030\230\006\230a\230q\330\024\030\230\006\230a\230q\340\024\030\230\006\230a\230}\250B\250a\330\020\024\220F\230!\2301\330\010\017\210q\200A\330\010\021\220\024\220W\230I\240Q\330\010\013\210:\220Q\220h\230a\330\014\025\220V\2307\240!\2404\240q\330\010\017\210q\200A\330(?\320?Y\320Yf\320fg\330\010\026\220g\230Q\230f\240A\330\010\013\2104\210q\330\014\r\340\010\030\230\n\240$\240i\250q\340\010\025\320\0251\3201F\300a\300v\310X\320UV\340\010\022\220,\230a\230~\250]\270!\330\010\017\210r\220\021\220$\220h\230o\250Z\260s\270,\300d\310!\340\010\016\210f\220A\220U\230!\2305\240\001\240\021\340\010\013\210>\230\024\230T\240\021\340\014\022\220/\240\021\240-\250r\260\021\260$\260h\270a\340\014\022\220/\240\021\240!\200A\330\010\t\210\025\210a\210q\330\024\"\320\"7\260}\300A\3608\000\t\036\230Q\230e\2401\330\010\017\210q\200A\330\010\014\320\014\036\230a\230u\240H\250E\260\027\3208L\310E\320Q`\320`a\200A\330\010\014\320\014\036\230a\230v\240Q\200A\330\010\014\320\014\036\230a\230x""\240t\320+;\2701\200A\330\010\016\210c\220\021\220$\220a\330\010\017\210r\220\021\220&\320\030+\2501\250A\330\010\014\320\014!\240\027\250\001\250\021\330\010\017\210q\200A\340\010\026\220d\230,\240a\330\010\013\210<\220t\2303\230a\230v\240R\240q\330\014\023\2207\230'\240\021\240$\240g\250Q\250h\260j\300\001\330\014\033\2302\230Q\230f\240A\240Q\330\014\023\2202\220U\230%\230q\240\r\250Q\330\014\017\210t\2202\220U\230'\240\021\240!\330\020\033\2302\230Q\230i\240q\250\002\250'\260\021\330\020\027\220q\330\020\021\330\031\036\230n\250A\250]\270!\330\030\031\230\026\230q\240\001\330\024\032\230%\230q\240\n\250!\330\024\033\2301\330\030)\250\021\360\006\000\025\030\220t\2302\230U\240'\250\021\250!\330\030\031\340\024\027\220t\2305\240\004\240B\240e\2507\260!\2601\330\030\032\230'\240\021\240!\360\006\000\r\026\220T\230\030\240\021\240&\250\001\330\014\023\220<\230q\240\001\330\010\014\210O\2301\230A\200A\340\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\320\025*\250!\2501\330\010\016\210f\220A\320\025.\250a\250q\330\010\016\210f\220A\220Q\360\010\000\t\017\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\330\010\016\210f\220A\220Q\200A\330\010\026\220g\230Q\230f\240A\330\010\013\2104\210}\230A\330\010\017\320\017.\250g\260Q\330\0142\260!\2601\200A\360\n\000\t\017\210m\2304\320\037/\250q\260\001\330\010\023\2204\220{\240$\240b\250\006\250a\330\010\013\2109\220C\220q\330\014\030\230\007\230q\330\014\020\220\013\2302\230V\240?\260!\330\010\013\2105\220\003\2208\2301\230A\330\014\022\220,\230a\320\0376\260b\270\001\330\010\013\2105\220\007\220t\2301\330\014\024\220A\220R\220w\230a\230q\330\010\020\220\001\220\022\2204\220q\230\001\330\010\013\210:\220Q\330\014\020""\220\006\220f\230A\230Q\330\020\026\220o\240U\250#\250T\3201D\300A\320\004A\300\035\310o\320]^\330\010\014\320\014#\2401\240F\250'\3201E\300Q\330\036$\240G\2509\260A\200A\330\010\017\210q\320\004$\240A\340\010\017\210q\200A\360\n\000\t\020\210{\230!\230<\240q\200A\330\010\014\320\014!\240\021\240&\250\007\250q\200A\360\010\000\t\020\210q\330\010\014\210F\220&\230\014\240J\250d\260!\330\014\027\220t\230;\240d\250\"\250F\260!\330\014\017\210y\230\003\2305\240\003\2405\250\007\250x\260q\270\001\330\020\024\220G\2302\230V\2406\250\033\260D\270\004\270A\330\010\017\210q\200A\330\010\017\210q\220\004\220L\240\006\240a\200A\330\010\014\320\014'\240q\250\005\250X\260U\270'\300\031\310!\200A\330\010\014\320\014\037\230q\360\n\000\t\020\210t\2206\230\021\230!\330\010\017\320\017!\240\034\250Q\320.A\300\021\330\010\014\210D\220\001\220\024\220\\\240\021\240$\240a\330\010\014\210F\220!\2201\360\n\000\t\020\210t\2206\230\021\230!\330\010\017\210{\230,\240a\320'=\270Q\330\010\014\210F\220!\2204\220|\2401\240D\250\001\330\010\014\210F\220!\2201\330\010\017\210t\2206\230\021\230!\330\010\017\210{\230,\240a\320'@\300\001\330\010\014\210F\220!\2204\220|\2401\240D\250\001\330\010\014\210F\220!\2201\200A\360\n\000\t\020\210r\220\021\220&\320\0302\260!\2601\200A\360\010\000\t\020\210r\220\021\220&\320\0303\2601\260A\200A\360\006\000\t\020\210r\220\027\230\001\330\020\024\220G\2306\240\034\250Z\260t\2701\330\020\023\2201\200A\340\010\017\210r\220\030\230\021\340\014\r\360\006\000\013\016\210U\220\"\220G\2301\320\0341\260\022\2609\270A\200A\360\n\000\t\020\210r\220\026\220q\330\020\024\220F\230&\240\016\250d\260-\270q\330\020\023\220;\230d\240$\240a\200A\330\010\017\210t\220>\240\021\240&\250\002\250'\260\021\200A\330\010\017\210t\2201\200A\330\010\017\210t\2201\220E\230\021\230$\230g\320%5\260T\270\024\270X\300T\310\021\200A\360\010\000\t\r\320\014 \240\007\240t\2501\200A\340\010\017\210t\2201\330\010\t\330\014\020\220\004\320\024.\250a\250q\330\017\020\330\014\020\220\004\320\024.\250a""\250x\260t\320;K\3101\330\010\017\210q\200A\330\010\017\210t\2201\330\010\020\220\010\230\n\240'\250\021\250$\250d\260(\270!\330\010\016\210f\220C\220q\330\014\026\220d\230!\2309\240D\250\001\250\027\260\002\260!\330\014\024\220J\230g\240Q\240d\250%\250x\260q\330\010\014\210A\210Y\220a\330\010\017\210q\320\004$\240A\330\010\017\210t\2201\330\010\013\210;\220g\230Q\330\014\020\220\001\220\032\230:\320%<\270A\330\014\020\220\001\220\037\240\n\320*>\270a\330\014\023\2209\230C\230v\240T\250\021\250!\340\010\016\210e\2207\230!\2304\230v\240Q\330\010\t\330\014\023\2204\220w\230a\230q\330\017\020\330\014\017\210t\220:\230S\240\001\330\020\033\2301\340\020\033\2301\230A\230[\250\001\250\026\250t\2605\270\004\270A\340\014\020\220\004\220G\2301\230G\240;\250a\330\020\024\220L\240\001\240\024\240X\250Q\330\020\024\220L\240\001\240\024\240W\250A\330\020\024\220L\240\001\240\024\240W\250A\330\020\024\220L\240\001\240\024\240Z\250q\330\020\024\220L\240\001\240\024\320%:\270!\330\020\024\220L\240\001\240\024\320%=\270Q\330\020\024\220L\240\001\240\024\320%:\270!\330\020\021\330\020\024\220A\330\020\021\360\006\000\r\021\320\020 \240\007\240q\250\001\330\014\023\2201\200A\330\010\017\210t\2203\220d\230!\200A\330\010\017\210t\2206\230\021\230!\200A\360\006\000\t\020\210t\2206\230\021\320\0320\260\007\260t\270;\300a\300q\200A\330\010\017\210t\2207\230&\240\001\200A\330\010\017\210t\2207\230)\2401\200A\360\n\000\t\020\210t\2207\230$\230a\230q\200A\330\010\017\320\017\037\230t\2409\250A\250W\260D\270\013\3001\300A\200A\330\010\017\210t\220<\320\0370\260\001\260\025\260a\200A\330\010\017\210t\220=\240\003\2401\330\010\014\210O\2301\330\010\014\210O\230<\240q\200A\330\010\017\210t\220>\240\021\320\"6\260a\200A\330\010\017\210t\220<\320\0377\260q\270\001\200A\330\010\017\210t\320\023(\250\001\250\024\250\\\3209N\310a\310q\200A\330\010\017\210t\320\023(\250\001\250\024\250\\\3209T\320TU\320UZ\320Z[\200A\330\010\017\210t\320\023(\250\001\330\014\020\220\014\320\034,\250A\250[\270\013\3001""\200A\330\010\017\210t\320\023(\250\001\330\014\020\220\014\230N\250!\250;\260i\270q\200A\340\010\017\210t\220>\240\021\240+\250R\250w\260a\200A\330\010\017\210t\220<\230{\250!\250;\260c\270\024\270\\\310\033\320TU\320UV\200A\330\010\017\210t\320\023'\240q\250\001\200A\330\010\017\210t\220<\320\037/\250q\260\001\200A\330\010\017\210t\320\023'\240q\250\006\250k\270\021\200A\330\010\017\210t\320\023'\240t\2501\200A\330\010\017\210u\220A\330\010\014\210D\220\005\220]\240$\240d\250%\250u\260L\300\001\330\020\023\2205\230\005\230Q\330\014\023\220?\240\"\240E\250\021\340\014\023\2205\230\001\200A\360\016\000\t\020\210v\220]\240#\240T\250\021\330\010\014\210G\2207\230!\2306\240\021\200A\330\010\014\320\014 \240\001\240\026\240w\250a\210A\330\020\037\230w\240b\250\001\330\020\023\2201\330\024\035\230Q\230a\340\020\031\230\031\240!\330\020\026\220a\330\024)\250\027\260\002\260!\330\024.\320.Q\320QR\320RS\330\024\032\230'\240\021\240!\330\024\037\230q\330\020\023\2204\220q\330\024\033\2301\340\020\023\2201\330\024\032\230'\240\025\240a\330\020\026\220h\230a\330\020\027\220q\320\004/\320/C\320CX\320XY\330\010\025\320\025.\320.@\300\001\330\010\014\210F\220!\330\014\016\210a\210q\330\014\016\210a\210t\320\023'\240q\330\014\016\210a\210v\320\025'\240q\250\004\320,<\270A\270S\300\001\300\021\330\014\016\210a\210s\220!\2201\330\014\016\210a\210t\220>\240\021\240$\240a\330\014\016\210a\210u\220A\330\014\016\210a\210v\320\025-\320-@\300\001\330\016\017\210t\220;\230a\230q\330\014\r\320\004\027\320\027+\320+D\300A\330\010\014\320\014\"\240!\330\010\014\320\014\035\230Q\330\010\014\320\014#\2401\210\001\330\"D\300A\340\014(\250\001\330\014\017\210\177\230g\240Q\330\020\035\320\0359\270\036\300q\310\016\320V^\320^_\360\006\000\r\020\210q\330\020\024\220I\230Q\330\024\027\220v\230S\240\001\330\030\031\340\024\033\230=\250\001\360\006\000\r\020\210v\220S\230\001\330\020\036\230d\240!\240>\260\030\270\021\340\020\036\230b\240\004\240A\240W\250G\2601\260F\270)\3001\360\006\000\r\021\220""\t\230\021\330\020\023\2206\230\023\230A\330\024\032\230,\240a\320'G\300q\320H\\\320\\]\320]i\320ij\340\014)\250\021\330\014\023\220=\240\001\320\004*\250!\330\010\014\210F\220!\320\0230\260\001\260\024\260^\3001\300G\3101\310D\320PQ\320QW\320WX\320\004G\300z\320Q]\320]^\320\004(\250\001\330\010\020\220\004\220J\230a\320\0370\260\002\260!\330\010\031\230\023\230A\230T\240\037\260\002\260#\260Q\330\010\014\210M\230\027\240\001\240\021\330\010\017\210q\320\000\034\230K\320':\270!\340\004\007\200t\2101\330\010\017\210q\340\004\007\200q\330\010\017\210r\220\021\220&\230\001\230\021\330\004\007\200q\330\010\017\210q\220\014\230A\340\004\005\330\010\023\2207\230!\2301\330\013\014\330\010\017\210\177\230a\330\010\023\2207\230!\2305\240\010\250\001\250\023\250E\260\021\340\004\013\2108\220;\230a\230q\320\004\027\220~\240_\260K\270q\330\010\014\210I\220T\230\021\330\010\014\210A\210U\220,\230a\330\010\014\210J\220a\340\010\013\2101\330\014\017\210w\220a\220s\230#\230T\240\024\240W\250B\250c\260\023\260A\330\020\024\220G\2301\230E\240\035\250g\260Q\260a\330\020\027\220q\340\020\024\220G\2301\230E\240\037\260\007\260q\270\001\340\010\013\2101\330\014\020\220\007\220q\230\004\230J\240a\340\010\013\2101\330\014\020\220\014\230D\240\001\330\r\016\330\014\020\220\014\230D\240\001\340\014\020\220\014\230D\240\001\320\004,\250O\2701\330\010\014\320\014\034\230A\230V\2407\250&\260\007\260y\300\001\320\004$\240O\3203D\300A\330\010\022\220$\220i\230q\240\013\2501\330\010\023\320\023$\240A\240Y\250h\260a\320\004\035\230Q\330\010\033\2304\230q\330\010\014\320\014\035\230R\230r\240\021\330\010\020\220\007\220s\230&\240\017\250q\330\010\013\2105\220\007\220q\330\014\025\220T\230\022\2301\330\010\017\210q\320\004%\240Q\340\010\013\2104\210q\330\014\032\230$\230k\250\021\340\014\032\230$\230k\250\021\330\010\t\330\014\020\220\004\320\024'\240q\250\001\330\017\020\330\014\020\220\004\320\024%\240Q\240f\250A\330\010\013\2101\330\014\r\210Z\220q\330\010\017\210q\320\004-\250Q\360\022\000\t\014""\210=\230\004\230M\250\027\260\004\260A\330\014\020\220\016\230d\240!\2401\330\014\030\230\t\240\021\240&\250\010\260\001\320\004-\250Q\330\010\014\320\014\035\230Q\230f\240G\2506\260\021\320\010!\240\034\320-=\270Q\340\014\025\220S\230\005\230Q\230a\230q\240\001\240\023\240D\250\005\250Q\330\014\r\210V\2201\220C\220~\240Z\250q\260\001\320\004%\240Q\330\010\025\220T\320\031)\250\021\330\010\014\320\014\034\230A\330\r\021\220\032\2301\230G\2402\240Q\330\r\021\220\032\2301\230G\2402\240Q\330\010\017\210q\320\004%\240Q\330\010\026\220d\230!\330\010\014\210O\2304\230z\250\021\250'\260\022\2601\330\010\017\210q\320\004%\240Q\360\010\000\t\020\210t\2207\230(\240'\250\021\330\010\017\320\017!\240\021\240&\250\004\250N\270!\330\010\017\320\017&\240a\240t\2501\330\010\013\2107\220)\2304\230w\240a\330\014\023\320\023%\240Q\330\020\024\220L\240\001\320!5\260T\270\036\300q\320\004-\250Q\330\010\017\210t\320\023(\250\001\330\014\020\220\014\230M\250\021\250(\260!\320\004R\320RS\330\010\027\220y\240\006\240c\250\032\2601\330\010\025\220^\320#;\2701\340\010\021\220\024\220V\2301\230A\330\010\016\210f\220A\220W\230A\320\0352\260!\3203C\3001\320Dg\320gh\320hi\340\010\021\220\024\220V\2301\230A\330\010\016\210f\220A\220W\230A\320\0352\260!\3203`\320`a\320ab\320\004@\320@Z\320Z[\330\010\024\220K\320\0375\260Q\330\010\013\2105\220\001\330\014\023\2201\330\r\022\220%\220~\240T\250\025\250a\330\014\023\2201\330\r\022\220%\220~\240T\250\025\250m\2704\270t\3005\310\013\320SW\320W\\\320\\b\320bc\360\006\000\r\024\2201\340\014\023\2201\340\010\014\210L\320\030)\250\021\330\020\033\230<\240q\250\003\2505\260\001\260\035\270a\340\010\013\2104\210q\330\014!\240\025\240e\320+?\270q\300\005\300Q\330\010\014\210F\220!\2201\330 !\330 )\250\025\250a\250q\330 %\240U\320*>\270a\330 $\240K\250q\260\001\320\004\035\230Z\240w\250d\260*\270J\300a\300q\250\021\210\001\320\004>\270a\360\014\000\t\032\230\036\320';\2701\330\010\t\330\014\r\330\014\022\320\022$\320$7\260q\330\014\022\220!\330\014\022\220!""\360\006\000\t\r\210J\320\026.\250a\330\010\014\210F\220!\320\0239\270\022\2701\320\004.\250a\330\010\014\210I\220Q\330\010\014\210I\220Q\330\010\014\210K\220q\330\010\014\210N\230+\240S\250\001\320\004/\250\177\270a\360\n\000\t\021\220\004\220L\240\006\240a\240q\330\010\r\210V\2201\320\024/\250q\260\001\330\010\014\320\014\036\230a\230q\330\010\014\210F\220!\2201\330\010\014\210F\220!\2209\230A\230Q\330\010\013\2101\330\014\020\320\020-\250Q\200\001\360\022\000\005\021\220\010\230\006\230a\230q\330\004\013\2101\330\010\016\210a\330\010\017\210q\220\010\230\010\240\001\240\021\320\004d\320dz\320z{\340\010\031\230\033\320$4\260A\260Q\330\010\026\220i\230q\240\013\320+<\270A\320=N\310a\310q\340\010\013\2101\330\014\020\220\014\230A\230X\240V\2501\250K\260x\270q\320@R\320RV\320VX\320XY\330\010\013\2101\330\014\020\320\020\"\240!\2401\330\010\014\210F\220!\2201\330\010\014\210F\220!\220<\230r\240\021\200\001\360\020\000\005\017\210g\220X\230W\240A\330\004\013\2101\330\010\016\210a\330\010\016\320\016\"\240!\330\014\032\230.\250\001\250\027\260\013\2709\300C\300x\310q\200\001\360\014\000\005\017\210g\220X\230W\240A\330\004\007\200q\330\010\017\210w\220a\220x\230q\330\004\013\2102\210Q\210f\320\024/\250q\260\001\200\001\360\016\000\005\017\210h\220f\230A\230R\230x\240q\250\005\250Q\330\004\013\2102\210U\220!\330\010\t\320\004\036\230k\250\021\330\010\020\320\020\"\240!\2405\250\006\250b\260\003\2606\270\021\270!\330\010\026\220d\320\032-\250Q\250f\260B\260a\330\010\013\2101\330\014\025\220V\320\033-\250Q\250a\340\014\025\220V\2301\330\010\017\210z\230\030\240\021\320\004\027\220{\240,\250k\270\033\300K\310q\330\010\013\2108\2203\220a\330\014\026\220a\360\006\000\r\027\220g\230U\240!\330\010\020\220\013\2301\230G\2409\250F\260!\330\010\017\210{\230!\2306\240\031\250&\260\001\330\010\017\210{\230!\2306\240\031\250&\260\001\330\010\r\210R\210y\230\001\330\014\023\2206\230\025\230f\240E\250\026\250u\260H\270A\320\000&\240l\3202d\320de\320ef\360\006\000\005\026\320\025*\250!""\2501\340\004\005\360B\001\000\005\014\2101\320\004.\250o\270Q\360\016\000\t\014\2104\210|\230;\240a\320'E\300S\310\001\330\014\022\220.\240\001\330\014\023\2201\330\020\024\220A\330\020\021\330\020\021\340\010\014\210L\320\030)\250\021\330\014\027\220|\2401\320$8\270\001\330\010\014\320\014&\240a\330\010\013\2104\210q\330\014\027\220q\330\014\017\210q\330\020\024\220D\230\001\230\021\330\010\014\210F\220!\320\0235\260R\260q\320\004'\240q\330\010\022\220)\2304\230w\240c\250\021\330\010\t\330\014\020\220\004\320\024$\240B\240k\260\021\330\017\020\330\014\020\220\004\220N\240!\240;\250a\330\010\017\210q\320\004'\240q\330\010\013\2108\2203\220a\330\014\017\210t\2209\230G\2401\330\020\032\230$\230a\330\010\013\2108\2207\230!\330\014\024\220K\230q\240\007\240q\340\010\020\220\r\230Q\230g\240T\250\027\260\002\260!\330\010\014\210G\2206\230\021\230!\320\004'\240q\330\010\014\210J\320\0268\270\001\330\010\013\2101\330\014\020\220\n\320\0322\260!\330\010\017\210q\330\014\020\320\020 \240\001\240\023\240A\240Q\330\014\017\210q\220\001\320\004'\320'?\270q\340\010\014\320\014&\240a\330\010\013\2101\330\014\020\220\014\320\034-\250Q\330\020\033\230<\240q\320(=\270Q\330\014\030\230\001\330\014\032\230!\340\014\030\230\001\330\014\032\230!\330\010\014\210F\220!\2203\220a\330\010\014\210F\220!\220;\230a\330\010\013\2101\330\014\020\220\006\220a\220~\240R\240q\330\010\014\210F\220!\2201\320\004/\250q\360\010\000\t\r\320\014&\240a\330\010\013\2104\210q\330\014\027\220q\330\010\014\210F\220!\320\0233\2602\260Q\320\004'\320'?\270q\360\n\000\t\r\320\014&\240a\330\010\014\210F\220!\2201\330\010\013\2101\330\014\020\220\006\220a\220~\240R\240q\330\010\013\2101\330\014\030\230\001\330\014\020\220\014\320\034-\250Q\330\020\033\230<\240q\320(=\270Q\340\014\030\230\001\330\010\014\210F\220!\2203\220a\200\001\360\n\000\005\020\210r\220\025\220e\2301\230O\2504\250q\330\t\020\220\001\220\025\320\026'\240q\250\n\260)\270=\310\001\330\010\017\210q\220\n\230!\240\010\250\001\250\026\250v\260Q\320""\004'\240w\250d\260*\270J\300a\300q\320\004'\240w\250d\260*\270K\300q\310\001\320\004'\240w\250d\260*\320<L\310A\320\004'\240w\250d\260*\320<L\310A\310Q\320\004'\240w\250d\260*\320<L\310B\310a\320\004'\240w\250d\260*\270O\3101\320\004'\240w\250d\260*\270O\3101\310A\200\001\360\036\000\005\021\220\r\230[\250\007\250x\260w\270a\330\004\021\220\026\220r\230\021\330\004\013\2101\210C\210v\220S\230\004\230G\2404\240q\250\003\2506\260\021\260)\270:\300Q\330\004\013\2103\210a\210v\220R\220s\320\032C\3001\300C\300q\310\005\310Q\330\004\013\2106\320\0211\260\021\330\010\n\210!\2106\220\021\330\010\023\220<\230}\250A\210\001\330\014\017\210y\230\001\330\020\024\220G\2309\240A\330\024\033\2301\230A\330\014\017\210y\230\001\330\020\026\220g\230Q\230i\240|\2601\260I\270Q\330\014\017\210y\230\001\330\020\025\220W\230A\230Y\240l\260!\2609\270A";
    PyObject *data = NULL;
    CYTHON_UNUSED_VAR(__Pyx_DecompressString);
    #endif
    PyObject **stringtab = __pyx_mstate->__pyx_string_tab;
    Py_ssize_t pos = 0;
    for (int i = 0; i < 1820; i++) {
      Py_ssize_t bytes_length = index[i].length;
      PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);
      if (likely(string) && i >= 367) PyUnicode_InternInPlace(&string);
      if (unlikely(!string)) {
        Py_XDECREF(data);
        __PYX_ERR(0, 1, __pyx_L1_error)
      }
      stringtab[i] = string;
      pos += bytes_length;
    }
    for (int i = 1820; i < 2087; i++) {
      Py_ssize_t bytes_length = index[i].length;
      PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);
      stringtab[i] = string;
      pos += bytes_length;
      if (unlikely(!string)) {
        Py_XDECREF(data);
        __PYX_ERR(0, 1, __pyx_L1_error)
      }
    }
    Py_XDECREF(data);
    for (Py_ssize_t i = 0; i < 2087; i++) {
      if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {
        __PYX_ERR(0, 1, __pyx_L1_error)
      }
    }
    #if CYTHON_IMMORTAL_CONSTANTS
    {
      PyObject **table = stringtab + 1820;
      for (Py_ssize_t i=0; i<267; ++i) {
        #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
        #if PY_VERSION_HEX < 0x030E0000
        if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
        #else
        if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
        #endif
        {
          Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
        }
        #else
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
        #endif
      }
    }
    #endif
  }
  {
    PyObject **numbertab = __pyx_mstate->__pyx_number_tab + 0;
    int8_t const cint_constants_1[] = {0,-1,1,2,3,5,8,9,14,-18,18,31,32,63};
    int32_t const cint_constants_4[] = {32768L};
    for (int i = 0; i < 15; i++) {
      numbertab[i] = PyLong_FromLong((i < 14 ? cint_constants_1[i - 0] : cint_constants_4[i - 14]));
      if (unlikely(!numbertab[i])) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  #if CYTHON_IMMORTAL_CONSTANTS
  {
    PyObject **table = __pyx_mstate->__pyx_number_tab;
    for (Py_ssize_t i=0; i<15; ++i) {
      #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      #if PY_VERSION_HEX < 0x030E0000
      if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
      #else
      if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
      #endif
      {
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
      }
      #else
      Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
      #endif
    }
  }
  #endif
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: init_codeobjects ### */
typedef struct {
    unsigned int argcount : 3;
    unsigned int num_posonly_args : 1;
    unsigned int num_kwonly_args : 2;
    unsigned int nlocals : 6;
    unsigned int flags : 10;
    unsigned int first_line : 12;
} __Pyx_PyCode_New_function_description;
/* NewCodeObj.proto */
static PyObject* __Pyx_PyCode_New(
        const __Pyx_PyCode_New_function_description descr,
        PyObject * const *varnames,
        PyObject *filename,
        PyObject *funcname,
        PyObject *line_table,
        PyObject *tuple_dedup_map
);


static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) {
  PyObject* tuple_dedup_map = PyDict_New();
  if (unlikely(!tuple_dedup_map)) return -1;
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 523};
    PyObject* const varnames[] = {0};
    __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_lambda, __pyx_mstate->__pyx_kp_b_iso88591_vQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 659};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_util_code, __pyx_mstate->__pyx_n_u_dep};
    __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_prepend, __pyx_mstate->__pyx_kp_b_iso88591_y_G9A_1A_y_gQi_1IQ_y_WAYl_9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 745};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_part};
    __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__82, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 911};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_utility_code, __pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_code_string, __pyx_mstate->__pyx_n_u_result_is_module_specific, __pyx_mstate->__pyx_n_u_macro};
    __pyx_mstate_global->__pyx_codeobj_tab[3] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_process, __pyx_mstate->__pyx_kp_b_iso88591_DA_gQ_9_q_V___q_IQ_vS_vS_d_b_AW, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[3])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 910};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_process, __pyx_mstate->__pyx_n_u_process};
    __pyx_mstate_global->__pyx_codeobj_tab[4] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_build_processor, __pyx_mstate->__pyx_kp_b_iso88591_A_aq_7_A8_Qe1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[4])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 955};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_line_2};
    __pyx_mstate_global->__pyx_codeobj_tab[5] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__83, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[5])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2310};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_ctype, __pyx_mstate->__pyx_n_u_constants, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_values, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[6] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_store_array, __pyx_mstate->__pyx_kp_b_iso88591_Q_S_Qaq_D_Q_V1C_Zq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[6])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2315};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_end, __pyx_mstate->__pyx_n_u_counter_type};
    __pyx_mstate_global->__pyx_codeobj_tab[7] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_forloop_start, __pyx_mstate->__pyx_kp_b_iso88591_1_9D_Q_V1G1_5Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[7])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2319};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_error_pos, __pyx_mstate->__pyx_n_u_rhs_code};
    __pyx_mstate_global->__pyx_codeobj_tab[8] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_assign_constant, __pyx_mstate->__pyx_kp_b_iso88591_4A_V1_a_V1A_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[8])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2323};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_defines, __pyx_mstate->__pyx_n_u_constants, __pyx_mstate->__pyx_n_u_start_offset, __pyx_mstate->__pyx_n_u_i_11, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_numbertab_cname, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[9] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_define_constants, __pyx_mstate->__pyx_kp_b_iso88591_1_Q_6_5_Qaq_vQj_1B_PRRS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[9])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2380};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_number, __pyx_mstate->__pyx_n_u_is_neg, __pyx_mstate->__pyx_n_u_digits, __pyx_mstate->__pyx_n_u_digit, __pyx_mstate->__pyx_n_u_digit_char};
    __pyx_mstate_global->__pyx_codeobj_tab[10] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_to_base32, __pyx_mstate->__pyx_kp_b_iso88591_A_wb_1_Qa_a_QQRRS_q_4q_1_1_a_ha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[10])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2523};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[11] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[11])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2525};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[12] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_set, __pyx_mstate->__pyx_kp_b_iso88591_A_q_L_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[12])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 2674};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_new_labels, __pyx_mstate->__pyx_n_u_orig_labels, __pyx_mstate->__pyx_n_u_skip_to_label, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_trace, __pyx_mstate->__pyx_n_u_label, __pyx_mstate->__pyx_n_u_orig_label};
    __pyx_mstate_global->__pyx_codeobj_tab[13] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_label_interceptor, __pyx_mstate->__pyx_kp_b_iso88591_GzQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[13])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 3630};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_line_2};
    __pyx_mstate_global->__pyx_codeobj_tab[14] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_indenter, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[14])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 321};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_include, __pyx_mstate->__pyx_n_u_verbatim, __pyx_mstate->__pyx_n_u_late, __pyx_mstate->__pyx_n_u_initial};
    __pyx_mstate_global->__pyx_codeobj_tab[15] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_2, __pyx_mstate->__pyx_kp_b_iso88591_Kq_IT_AU_a_Ja_1_was_T_WBc_A_G1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[15])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 343};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_d, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_other};
    __pyx_mstate_global->__pyx_codeobj_tab[16] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_dict_update, __pyx_mstate->__pyx_kp_b_iso88591_A_4s_AQa_Q_q_A_QgQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[16])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 355};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[17] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_sortkey, __pyx_mstate->__pyx_kp_b_iso88591_A_t1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[17])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 358};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[18] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_mainpiece, __pyx_mstate->__pyx_kp_b_iso88591_A_t7_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[18])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 365};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code, __pyx_mstate->__pyx_n_u_k};
    __pyx_mstate_global->__pyx_codeobj_tab[19] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_write, __pyx_mstate->__pyx_kp_b_iso88591_A_E_q_A_at7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[19])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 371};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_Cython_dir};
    __pyx_mstate_global->__pyx_codeobj_tab[20] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_utility_dir, __pyx_mstate->__pyx_kp_b_iso88591_5_5_5_2U_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[20])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 388};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_path, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_f};
    __pyx_mstate_global->__pyx_codeobj_tab[21] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_read_utilities_from_utility_dir, __pyx_mstate->__pyx_kp_b_iso88591_r_e1O4q_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[21])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 405};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_globalstate, __pyx_mstate->__pyx_n_u_used_by};
    __pyx_mstate_global->__pyx_codeobj_tab[22] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_code, __pyx_mstate->__pyx_kp_b_iso88591_9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[22])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 408};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_kwargs};
    __pyx_mstate_global->__pyx_codeobj_tab[23] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_tree, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[23])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 411};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_kwargs};
    __pyx_mstate_global->__pyx_codeobj_tab[24] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_shared_library_scope, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[24])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 460};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_line_comment_char};
    __pyx_mstate_global->__pyx_codeobj_tab[25] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_special_comment_matcher, __pyx_mstate->__pyx_kp_b_iso88591_A_r_U_G1_1_9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[25])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 469};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cls, __pyx_mstate->__pyx_n_u_utility, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_lines, __pyx_mstate->__pyx_n_u_begin_lineno, __pyx_mstate->__pyx_n_u_tags, __pyx_mstate->__pyx_n_u_code, __pyx_mstate->__pyx_n_u_new_code, __pyx_mstate->__pyx_n_u_e, __pyx_mstate->__pyx_n_u_all_tags, __pyx_mstate->__pyx_n_u_tag_name, __pyx_mstate->__pyx_n_u_tag_values};
    __pyx_mstate_global->__pyx_codeobj_tab[26] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_add_utility, __pyx_mstate->__pyx_kp_b_iso88591_AIJ_83a_t5_5_M_E_Yc_Qa_81E_AT_Jo, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[26])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 23, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 502};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cls, __pyx_mstate->__pyx_n_u_path, __pyx_mstate->__pyx_n_u_utilities, __pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_ext, __pyx_mstate->__pyx_n_u_comment, __pyx_mstate->__pyx_n_u_strip_comments, __pyx_mstate->__pyx_n_u_rstrip, __pyx_mstate->__pyx_n_u_match_special, __pyx_mstate->__pyx_n_u_match_type, __pyx_mstate->__pyx_n_u_all_lines, __pyx_mstate->__pyx_n_u_lines, __pyx_mstate->__pyx_n_u_tags, __pyx_mstate->__pyx_n_u_utility, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_begin_lineno, __pyx_mstate->__pyx_n_u_lineno, __pyx_mstate->__pyx_n_u_line_2, __pyx_mstate->__pyx_n_u_m, __pyx_mstate->__pyx_n_u_mtype, __pyx_mstate->__pyx_n_u_tag_value, __pyx_mstate->__pyx_n_u_tag_name};
    __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_load_utilities_from_file, __pyx_mstate->__pyx_kp_b_iso88591_A_C_d_1_1_1_6_5_4t87_a_WARxq0LFR, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 574};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cls, __pyx_mstate->__pyx_n_u_util_code_name, __pyx_mstate->__pyx_n_u_from_file, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_utilities, __pyx_mstate->__pyx_n_u_proto, __pyx_mstate->__pyx_n_u_impl, __pyx_mstate->__pyx_n_u_tags, __pyx_mstate->__pyx_n_u_orig_kwargs, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_values, __pyx_mstate->__pyx_n_u_dep, __pyx_mstate->__pyx_n_u_dep};
    __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_load, __pyx_mstate->__pyx_kp_b_iso88591_A_5_1_gQfA_q_C_0_vWIQa_1_CuD_T_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 628};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cls, __pyx_mstate->__pyx_n_u_utility_code_name, __pyx_mstate->__pyx_n_u_from_file, __pyx_mstate->__pyx_n_u_cache, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_code};
    __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_load_cached, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_7_1_wawc_a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 641};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cls, __pyx_mstate->__pyx_n_u_util_code_name, __pyx_mstate->__pyx_n_u_from_file, __pyx_mstate->__pyx_n_u_include_requires, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_util, __pyx_mstate->__pyx_n_u_protos, __pyx_mstate->__pyx_n_u_impls, __pyx_mstate->__pyx_n_u_prepend, __pyx_mstate->__pyx_n_u_prepend};
    __pyx_mstate_global->__pyx_codeobj_tab[30] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_load_as_string, __pyx_mstate->__pyx_kp_b_iso88591_AHI_s_q_Q_4q_D_AT_AT_A_q_r_ay_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[30])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 671};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code_string, __pyx_mstate->__pyx_n_u_replace_empty_lines};
    __pyx_mstate_global->__pyx_codeobj_tab[31] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_format_code, __pyx_mstate->__pyx_kp_b_iso88591_2XQiq_1_QfKvT_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[31])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 682};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_kwargs};
    __pyx_mstate_global->__pyx_codeobj_tab[32] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_tree, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[32])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 685};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_kwargs};
    __pyx_mstate_global->__pyx_codeobj_tab[33] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_shared_library_scope, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[33])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 688};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_memodict};
    __pyx_mstate_global->__pyx_codeobj_tab[34] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_deepcopy, __pyx_mstate->__pyx_kp_b_iso88591_A_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[34])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 747};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_export_proto, __pyx_mstate->__pyx_n_u_parsed_protos, __pyx_mstate->__pyx_n_u_proto_regex, __pyx_mstate->__pyx_n_u_proto, __pyx_mstate->__pyx_n_u_matched, __pyx_mstate->__pyx_n_u_ret_type, __pyx_mstate->__pyx_n_u_func_name, __pyx_mstate->__pyx_n_u_func_params};
    __pyx_mstate_global->__pyx_codeobj_tab[35] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_parse_export_functions, __pyx_mstate->__pyx_kp_b_iso88591_381_uG_E_T_gUV_8_F_XYY_A_I_q_E, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[35])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 789};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_s_4, __pyx_mstate->__pyx_n_u_context};
    __pyx_mstate_global->__pyx_codeobj_tab[36] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_none_or_sub, __pyx_mstate->__pyx_kp_b_iso88591_A_2S_1_r_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[36])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 797};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyrex_type, __pyx_mstate->__pyx_n_u_data, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_requires, __pyx_mstate->__pyx_n_u_s_4, __pyx_mstate->__pyx_n_u_r};
    __pyx_mstate_global->__pyx_codeobj_tab[37] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_specialize, __pyx_mstate->__pyx_kp_b_iso88591_A_t1_gQ_A_a_9CvT_e7_4vQ_4waq_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[37])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 829};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code_string};
    __pyx_mstate_global->__pyx_codeobj_tab[38] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_validate_suitable_for_sharing, __pyx_mstate->__pyx_kp_b_iso88591_A_gQfA_4_A_gQ_2_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[38])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 835};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_writer, __pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_code_type, __pyx_mstate->__pyx_n_u_used_by, __pyx_mstate->__pyx_n_u_code_string, __pyx_mstate->__pyx_n_u_can_be_reused, __pyx_mstate->__pyx_n_u_result_is_module_specific, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[39] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_code_section, __pyx_mstate->__pyx_kp_b_iso88591_A_YYffg_gQfA_4q_iq_11FavXUV_a_r, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[39])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 856};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_writer};
    __pyx_mstate_global->__pyx_codeobj_tab[40] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_init_code_section, __pyx_mstate->__pyx_kp_b_iso88591_A_4t1_q_axxq_fAU_F_6avQ_fA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[40])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 866};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code, __pyx_mstate->__pyx_n_u_shared};
    __pyx_mstate_global->__pyx_codeobj_tab[41] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_shared_function_declaration, __pyx_mstate->__pyx_kp_b_iso88591_66H_F_5_Q_Jd_ay_wavXQfA_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[41])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 873};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_globalstate, __pyx_mstate->__pyx_n_u_used_by, __pyx_mstate->__pyx_n_u_has_shared_utility_code, __pyx_mstate->__pyx_n_u_dependency};
    __pyx_mstate_global->__pyx_codeobj_tab[42] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_code, __pyx_mstate->__pyx_kp_b_iso88591_9A_a_k_V8ST_4z_T_d_A_Q_1_2_at1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[42])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 3, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS), 905};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_regex, __pyx_mstate->__pyx_n_u_is_module_specific, __pyx_mstate->__pyx_n_u_last_macro_processor, __pyx_mstate->__pyx_n_u_macro_names, __pyx_mstate->__pyx_n_u_last_processor, __pyx_mstate->__pyx_n_u_build_processor, __pyx_mstate->__pyx_n_u_build_processor};
    __pyx_mstate_global->__pyx_codeobj_tab[43] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_add_macro_processor, __pyx_mstate->__pyx_kp_b_iso88591_l2ddeef_1_B_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[43])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 946};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_matchobj, __pyx_mstate->__pyx_n_u_content, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[44] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_wrap_c_string, __pyx_mstate->__pyx_kp_b_iso88591_hfARxq_Q_2U, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[44])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 959};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_utility_code, __pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_impl};
    __pyx_mstate_global->__pyx_codeobj_tab[45] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_format_impl_code, __pyx_mstate->__pyx_kp_b_iso88591_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[45])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 964};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_matchobj, __pyx_mstate->__pyx_n_u_type_cname, __pyx_mstate->__pyx_n_u_method_name, __pyx_mstate->__pyx_n_u_obj_cname, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_arg};
    __pyx_mstate_global->__pyx_codeobj_tab[46] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_inject_unbound_method, __pyx_mstate->__pyx_kp_b_iso88591_xwa_r_1CvS_G4q_6_Q_3avRs_C1Cq_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[46])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 988};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_matchobj, __pyx_mstate->__pyx_n_u_str_type, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[47] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_inject_string_constant, __pyx_mstate->__pyx_kp_b_iso88591_gXWA_1_a_9Cxq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[47])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1003};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_matchobj, __pyx_mstate->__pyx_n_u_type_name};
    __pyx_mstate_global->__pyx_codeobj_tab[48] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_inject_empty_collection_constan, __pyx_mstate->__pyx_kp_b_iso88591_aq_1_a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[48])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1018};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_output, __pyx_mstate->__pyx_n_u_matchobj, __pyx_mstate->__pyx_n_u_is_named, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[49] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_inject_cglobal, __pyx_mstate->__pyx_kp_b_iso88591_gXWA_q_waxq_2Qf_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[49])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1030};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_utility_code, __pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_code_string};
    __pyx_mstate_global->__pyx_codeobj_tab[50] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_process_utility_ccode, __pyx_mstate->__pyx_kp_b_iso88591_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[50])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1037};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_s_4, __pyx_mstate->__pyx_n_u_context, __pyx_mstate->__pyx_n_u_file_2, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cache, __pyx_mstate->__pyx_n_u_template, __pyx_mstate->__pyx_n_u_Template};
    __pyx_mstate_global->__pyx_codeobj_tab[51] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_sub_tempita, __pyx_mstate->__pyx_kp_b_iso88591_K_t1_q_q_r_q_q_A_7_1_a_7_5_E_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[51])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 1057};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_proto, __pyx_mstate->__pyx_n_u_impl, __pyx_mstate->__pyx_n_u_init, __pyx_mstate->__pyx_n_u_file_2, __pyx_mstate->__pyx_n_u_context, __pyx_mstate->__pyx_n_u_kwargs};
    __pyx_mstate_global->__pyx_codeobj_tab[52] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_2, __pyx_mstate->__pyx_kp_b_iso88591_k_Kq_83a_a_gU_1G9F_6_6_Ry_6_fE, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[52])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1069};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cls, __pyx_mstate->__pyx_n_u_utility_code_name, __pyx_mstate->__pyx_n_u_from_file, __pyx_mstate->__pyx_n_u_context, __pyx_mstate->__pyx_n_u_cache, __pyx_mstate->__pyx_n_u_context_key, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_code};
    __pyx_mstate_global->__pyx_codeobj_tab[53] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_load_cached, __pyx_mstate->__pyx_kp_b_iso88591_A_RRS_e7_7_Q_t1M_uK_2_7_1_wawc_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[53])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1081};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_s_4, __pyx_mstate->__pyx_n_u_context};
    __pyx_mstate_global->__pyx_codeobj_tab[54] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_none_or_sub, __pyx_mstate->__pyx_kp_b_iso88591_A_2S_1_3it7_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[54])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1098};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_callback};
    __pyx_mstate_global->__pyx_codeobj_tab[55] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_2, __pyx_mstate->__pyx_kp_b_iso88591_A_L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[55])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1101};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_globalstate, __pyx_mstate->__pyx_n_u_used_by, __pyx_mstate->__pyx_n_u_utility};
    __pyx_mstate_global->__pyx_codeobj_tab[56] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_code, __pyx_mstate->__pyx_kp_b_iso88591_O3DA_iq_1_AYha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[56])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1162};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_leftovers, __pyx_mstate->__pyx_n_u_msg, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_ctype, __pyx_mstate->__pyx_n_u_is_pytemp};
    __pyx_mstate_global->__pyx_codeobj_tab[57] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_validate_exit, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_M_q_Fc_VSZZ_ccdde_q_g_l_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[57])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1176};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[58] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_label, __pyx_mstate->__pyx_kp_b_iso88591_Q_4q_Rr_s_q_5_q_T_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[58])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1184};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_expr_type, __pyx_mstate->__pyx_n_u_label, __pyx_mstate->__pyx_n_u_num_and_label};
    __pyx_mstate_global->__pyx_codeobj_tab[59] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_yield_label, __pyx_mstate->__pyx_kp_b_iso88591_Ja_0_AT_Q_M_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[59])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1190};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_old_err_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[60] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_error_label, __pyx_mstate->__pyx_kp_b_iso88591_Q_d_O4z_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[60])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1195};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[61] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_loop_labels, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[61])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1200};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_labels};
    __pyx_mstate_global->__pyx_codeobj_tab[62] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_set_loop_labels, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[62])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1204};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_old_labels};
    __pyx_mstate_global->__pyx_codeobj_tab[63] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_loop_labels, __pyx_mstate->__pyx_kp_b_iso88591_Q_T_A_1G2Q_1G2Q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[63])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1211};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[64] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_all_labels, __pyx_mstate->__pyx_kp_b_iso88591_A_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[64])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1218};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_labels};
    __pyx_mstate_global->__pyx_codeobj_tab[65] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_set_all_labels, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_Q_Q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[65])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1224};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_old_labels, __pyx_mstate->__pyx_n_u_new_labels, __pyx_mstate->__pyx_n_u_old_label, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[66] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_all_new_labels, __pyx_mstate->__pyx_kp_b_iso88591_A_T_Q_Kxs_q_IZq_q_j_O1A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[66])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1235};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[67] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_use_label, __pyx_mstate->__pyx_kp_b_iso88591_A_L_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[67])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1238};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[68] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_label_used, __pyx_mstate->__pyx_kp_b_iso88591_A_t3d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[68])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1243};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_manage_ref, __pyx_mstate->__pyx_n_u_static_2, __pyx_mstate->__pyx_n_u_reusable, __pyx_mstate->__pyx_n_u_PyrexTypes, __pyx_mstate->__pyx_n_u_freelist, __pyx_mstate->__pyx_n_u_result};
    __pyx_mstate_global->__pyx_codeobj_tab[69] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_allocate_temp, __pyx_mstate->__pyx_kp_b_iso88591_55EQ_4_D_A_4q_t4t1_4q_7_t4t_d_f, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[69])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1301};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_manage_ref, __pyx_mstate->__pyx_n_u_freelist};
    __pyx_mstate_global->__pyx_codeobj_tab[70] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_release_temp, __pyx_mstate->__pyx_kp_b_iso88591_A_m4_q_4_b_a_9Cq_q_2V_5_81A_a_6b, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[70])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1320};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[71] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_temps_in_use, __pyx_mstate->__pyx_kp_b_iso88591_A_q_F_Jd_t_d_F_y_5_5_xq_G2V6_D_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[71])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1331};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_manage_ref};
    __pyx_mstate_global->__pyx_codeobj_tab[72] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_temps_holding_reference, __pyx_mstate->__pyx_kp_b_iso88591_A_r_q_F_d_q_d_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[72])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1340};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_manage_ref, __pyx_mstate->__pyx_n_u_static_2};
    __pyx_mstate_global->__pyx_codeobj_tab[73] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_all_managed_temps, __pyx_mstate->__pyx_kp_b_iso88591_A_r_G6_Zt1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[73])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1347};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_manage_ref, __pyx_mstate->__pyx_n_u_freelist, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[74] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_all_free_managed_temps, __pyx_mstate->__pyx_kp_b_iso88591_A_Qa_A_L_KvS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[74])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1359};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[75] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_start_collecting_temps, __pyx_mstate->__pyx_kp_b_iso88591_A_t1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[75])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1365};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[76] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_stop_collecting_temps, __pyx_mstate->__pyx_kp_b_iso88591_A_t_t1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[76])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1368};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_scope};
    __pyx_mstate_global->__pyx_codeobj_tab[77] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_closure_temps, __pyx_mstate->__pyx_kp_b_iso88591_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[77])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1381};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_py_type, __pyx_mstate->__pyx_n_u_value_code};
    __pyx_mstate_global->__pyx_codeobj_tab[78] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_2, __pyx_mstate->__pyx_kp_b_iso88591_a_IQ_IQ_Kq_N_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[78])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1422};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_encoding, __pyx_mstate->__pyx_n_u_identifier};
    __pyx_mstate_global->__pyx_codeobj_tab[79] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_string_const, __pyx_mstate->__pyx_kp_b_iso88591_7q_t1_c_Q_a_xvQ_y_HIYk_1_q_r_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[79])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1574};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_writer, __pyx_mstate->__pyx_n_u_module_node, __pyx_mstate->__pyx_n_u_code_config, __pyx_mstate->__pyx_n_u_common_utility_include_dir};
    __pyx_mstate_global->__pyx_codeobj_tab[80] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_2, __pyx_mstate->__pyx_kp_b_iso88591_9_a_Q_1_q_O1_IQ_O1_A_q_Q_A_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[80])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1602};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_rootwriter, __pyx_mstate->__pyx_n_u_i_11, __pyx_mstate->__pyx_n_u_part, __pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_code};
    __pyx_mstate_global->__pyx_codeobj_tab[81] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_initialize_main_c_code, __pyx_mstate->__pyx_kp_b_iso88591_A_T_Cxy_Q_F_8_Q_r_1_q_A_D_aq_av, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[81])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1651};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_rootwriter, __pyx_mstate->__pyx_n_u_part};
    __pyx_mstate_global->__pyx_codeobj_tab[82] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_initialize_main_h_code, __pyx_mstate->__pyx_kp_b_iso88591_A_T_HD_axz_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[82])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1656};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code, __pyx_mstate->__pyx_n_u_util};
    __pyx_mstate_global->__pyx_codeobj_tab[83] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_finalize_main_c_code, __pyx_mstate->__pyx_kp_b_iso88591_A_q_t6_Q_A_D_a_F_1_t6_a_Q_F_4_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[83])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1679};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_key};
    __pyx_mstate_global->__pyx_codeobj_tab[84] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_getitem, __pyx_mstate->__pyx_kp_b_iso88591_A_t6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[84])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1685};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_const_type, __pyx_mstate->__pyx_n_u_part};
    __pyx_mstate_global->__pyx_codeobj_tab[85] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_close_global_decls, __pyx_mstate->__pyx_kp_b_iso88591_A_D_aq_q_1Kq_Zq_V1A_q_D_aq_N_9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[85])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1733};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[86] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_pyobject_decl, __pyx_mstate->__pyx_kp_b_iso88591_A_A_8_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[86])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1738};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_target};
    __pyx_mstate_global->__pyx_codeobj_tab[87] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_cached_constants_writer, __pyx_mstate->__pyx_kp_b_iso88591_7_wc_Q_q_d_1_t6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[87])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1746};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_str_value, __pyx_mstate->__pyx_n_u_longness, __pyx_mstate->__pyx_n_u_py_type, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[88] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_int_const, __pyx_mstate->__pyx_kp_b_iso88591_q_4wc_Bk_N_a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[88])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1754};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_str_value, __pyx_mstate->__pyx_n_u_value_code, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[89] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_float_const, __pyx_mstate->__pyx_kp_b_iso88591_A_Bk_N_iq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[89])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1761};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_dedup_key, __pyx_mstate->__pyx_n_u_const_2};
    __pyx_mstate_global->__pyx_codeobj_tab[90] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_const, __pyx_mstate->__pyx_kp_b_iso88591_1_WA_D_aq_vWA_q_1_WA_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[90])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1771};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[91] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_argument_default_const, __pyx_mstate->__pyx_kp_b_iso88591_A_AQ_M_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[91])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1780};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text, __pyx_mstate->__pyx_n_u_c_used, __pyx_mstate->__pyx_n_u_byte_string, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[92] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_string_const, __pyx_mstate->__pyx_kp_b_iso88591_Q_4q_k_k_q_QfA_1_Zq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[92])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1794};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[93] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_pyunicode_ptr_const, __pyx_mstate->__pyx_kp_b_iso88591_A_t1_aq_axt_K1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[93])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1803};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text, __pyx_mstate->__pyx_n_u_identifier, __pyx_mstate->__pyx_n_u_c_string, __pyx_mstate->__pyx_n_u_py_string};
    __pyx_mstate_global->__pyx_codeobj_tab[94] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_string_const, __pyx_mstate->__pyx_kp_b_iso88591_5QfG1_H_0_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[94])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1809};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[95] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_codeobj_const, __pyx_mstate->__pyx_kp_b_iso88591_A_c_a_r_1A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[95])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1815};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text};
    __pyx_mstate_global->__pyx_codeobj_tab[96] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_interned_identifier, __pyx_mstate->__pyx_kp_b_iso88591_A_t_q_k, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[96])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1818};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text, __pyx_mstate->__pyx_n_u_byte_string, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[97] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_string_const, __pyx_mstate->__pyx_kp_b_iso88591_A_1A_Kq_vQ_q_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[97])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1824};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_py_type, __pyx_mstate->__pyx_n_u_value_code, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[98] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_num_const, __pyx_mstate->__pyx_kp_b_iso88591_A_HAWG9A_Bg_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[98])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1830};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_bytes_value, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[99] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_string_const_cname, __pyx_mstate->__pyx_kp_b_iso88591_A_7_9A_t_1F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[99])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1835};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_format_str, __pyx_mstate->__pyx_n_u_used, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_counter};
    __pyx_mstate_global->__pyx_codeobj_tab[100] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_unique_const_cname, __pyx_mstate->__pyx_kp_b_iso88591_A_t1_d_fCq_d_9D_JgQd_xq_AYa_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[100])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1844};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_py_type, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[101] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_num_const_cname, __pyx_mstate->__pyx_kp_b_iso88591_A_83a_Q_a_XQe4xq_T_q_3awb_D_1_r, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[101])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1859};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_name_suffix};
    __pyx_mstate_global->__pyx_codeobj_tab[102] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_const_cname, __pyx_mstate->__pyx_kp_b_iso88591_k_5_b_6_d_QfBa_1_V_Qa_V1_z, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[102])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1868};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_count};
    __pyx_mstate_global->__pyx_codeobj_tab[103] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_array_const_cname, __pyx_mstate->__pyx_kp_b_iso88591_A_Qha_E_r_xq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[103])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1873};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type_cname, __pyx_mstate->__pyx_n_u_method_name, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[104] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_cached_unbound_method, __pyx_mstate->__pyx_kp_b_iso88591_A_1_D_D_4DA_l_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[104])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1882};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_modulestate_cname, __pyx_mstate->__pyx_n_u_obj_cname, __pyx_mstate->__pyx_n_u_type_cname, __pyx_mstate->__pyx_n_u_method_name, __pyx_mstate->__pyx_n_u_arg_cnames, __pyx_mstate->__pyx_n_u_utility_code_name, __pyx_mstate->__pyx_n_u_cache_cname, __pyx_mstate->__pyx_n_u_args};
    __pyx_mstate_global->__pyx_codeobj_tab[105] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_cached_unbound_method_call_code, __pyx_mstate->__pyx_kp_b_iso88591_A_32S_Qk_Q6I_d_4A_q_2Q_q_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[105])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1895};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[106] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_add_cached_builtin_decl, __pyx_mstate->__pyx_kp_b_iso88591_A_5_D_Q_t_5_aq_uA_5_1_31A_A_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[106])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1906};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_cname_in_modulestate};
    __pyx_mstate_global->__pyx_codeobj_tab[107] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_cached_builtin_init, __pyx_mstate->__pyx_kp_b_iso88591_A_D_aq_q_A_a_Q_1_6a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[107])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1918};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[108] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_const_declarations, __pyx_mstate->__pyx_kp_b_iso88591_A_1_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[108])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1928};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_struct_attr_cname, __pyx_mstate->__pyx_n_u_count, __pyx_mstate->__pyx_n_u_may_have_refcycles, __pyx_mstate->__pyx_n_u_counter_type, __pyx_mstate->__pyx_n_u_visit_call, __pyx_mstate->__pyx_n_u_writer};
    __pyx_mstate_global->__pyx_codeobj_tab[109] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_module_array_traverse, __pyx_mstate->__pyx_kp_b_iso88591_RRS_y_c_1_1_V1A_fAWA_2_3C1Dgghh, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[109])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1938};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_consts, __pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_count, __pyx_mstate->__pyx_n_u_struct_attr_cname, __pyx_mstate->__pyx_n_u_cleanup_level, __pyx_mstate->__pyx_n_u_part_writer, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[110] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_object_constant_decls, __pyx_mstate->__pyx_kp_b_iso88591_A_3aq_e4q_e1_Cwe1_a_fAV2Qe_LAQ_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[110])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1980};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_decl, __pyx_mstate->__pyx_n_u_init, __pyx_mstate->__pyx_n_u_cnames, __pyx_mstate->__pyx_n_u_type_cname, __pyx_mstate->__pyx_n_u_method_name, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_method_name_cname, __pyx_mstate->__pyx_n_u_cleanup};
    __pyx_mstate_global->__pyx_codeobj_tab[111] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_cached_methods_decls, __pyx_mstate->__pyx_kp_b_iso88591_A_4t1_t6_t6_F_1_F_1_A_y_at_K6QR, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[111])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2009};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_c_consts, __pyx_mstate->__pyx_n_u_py_bytes_consts, __pyx_mstate->__pyx_n_u_py_unicode_consts, __pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_py_string, __pyx_mstate->__pyx_n_u_text, __pyx_mstate->__pyx_n_u_decls_writer, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_escaped_value, __pyx_mstate->__pyx_n_u_cliteral, __pyx_mstate->__pyx_n_u_utf16_array, __pyx_mstate->__pyx_n_u_utf32_array, __pyx_mstate->__pyx_n_u_py_string_count, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[112] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_string_constants, __pyx_mstate->__pyx_kp_b_iso88591_A_1_A_Cs_vQb_1AYaxs_e4GZZaab_q_r, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[112])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 24, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2062};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text_strings, __pyx_mstate->__pyx_n_u_byte_strings, __pyx_mstate->__pyx_n_u_defines, __pyx_mstate->__pyx_n_u_bytes_values, __pyx_mstate->__pyx_n_u_first_interned, __pyx_mstate->__pyx_n_u_stringtab_pos, __pyx_mstate->__pyx_n_u_i_11, __pyx_mstate->__pyx_n_u_is_interned, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_text, __pyx_mstate->__pyx_n_u_stringtab_bytes_start, __pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_index_2, __pyx_mstate->__pyx_n_u_concat_bytes, __pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_has_if, __pyx_mstate->__pyx_n_u_algo_number, __pyx_mstate->__pyx_n_u_algo_name, __pyx_mstate->__pyx_n_u_compress, __pyx_mstate->__pyx_n_u_compressed_bytes, __pyx_mstate->__pyx_n_u_guard, __pyx_mstate->__pyx_n_u_escaped_bytes, __pyx_mstate->__pyx_n_u_length};
    __pyx_mstate_global->__pyx_codeobj_tab[113] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_pystring_constants, __pyx_mstate->__pyx_kp_b_iso88591_88LA_fAQ_q_Q_1_D_WIYaq_q_G1A_d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[113])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2204};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_init_function, __pyx_mstate->__pyx_n_u_max_flags, __pyx_mstate->__pyx_n_u_max_func_args, __pyx_mstate->__pyx_n_u_max_kwonly_args, __pyx_mstate->__pyx_n_u_max_posonly_args, __pyx_mstate->__pyx_n_u_max_vars, __pyx_mstate->__pyx_n_u_max_line, __pyx_mstate->__pyx_n_u_node, __pyx_mstate->__pyx_n_u_def_node, __pyx_mstate->__pyx_n_u_code_object_count};
    __pyx_mstate_global->__pyx_codeobj_tab[114] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_codeobject_constants, __pyx_mstate->__pyx_kp_b_iso88591_A_D_aq_61J_6QR_4t1_Qa_V1_q_V1A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[114])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 40, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2269};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_consts, __pyx_mstate->__pyx_n_u_constant_count, __pyx_mstate->__pyx_n_u_float_constants, __pyx_mstate->__pyx_n_u_int_constants_by_bytesize, __pyx_mstate->__pyx_n_u_large_constants, __pyx_mstate->__pyx_n_u_int_constant_count, __pyx_mstate->__pyx_n_u_int_suffix, __pyx_mstate->__pyx_n_u_py_type, __pyx_mstate->__pyx_n_u__26, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_value_code, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_number_value, __pyx_mstate->__pyx_n_u_bit_length, __pyx_mstate->__pyx_n_u_w, __pyx_mstate->__pyx_n_u_defines, __pyx_mstate->__pyx_n_u_store_array, __pyx_mstate->__pyx_n_u_store_array, __pyx_mstate->__pyx_n_u_generate_forloop_start, __pyx_mstate->__pyx_n_u_generate_forloop_start, __pyx_mstate->__pyx_n_u_assign_constant, __pyx_mstate->__pyx_n_u_assign_constant, __pyx_mstate->__pyx_n_u_define_constants, __pyx_mstate->__pyx_n_u_define_constants, __pyx_mstate->__pyx_n_u_constant_offset, __pyx_mstate->__pyx_n_u_int_types, __pyx_mstate->__pyx_n_u_array_access, __pyx_mstate->__pyx_n_u_int_constants_seen, __pyx_mstate->__pyx_n_u_byte_size, __pyx_mstate->__pyx_n_u_constants, __pyx_mstate->__pyx_n_u_array_name, __pyx_mstate->__pyx_n_u_read_item, __pyx_mstate->__pyx_n_u_capi_func, __pyx_mstate->__pyx_n_u_to_base32, __pyx_mstate->__pyx_n_u_to_base32, __pyx_mstate->__pyx_n_u_c_string, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[115] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_generate_num_constants, __pyx_mstate->__pyx_kp_b_iso88591_A_1Jc_6_wavQhVWWdde_e4_wa_e1_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[115])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2418};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_array_cname, __pyx_mstate->__pyx_n_u_constant_count, __pyx_mstate->__pyx_n_u_writer};
    __pyx_mstate_global->__pyx_codeobj_tab[116] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_immortalize_constants, __pyx_mstate->__pyx_kp_b_iso88591_A_fAQ_fAQ_fA_1_fA_aq_fAQ_fAQ_fAQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[116])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2448};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_other};
    __pyx_mstate_global->__pyx_codeobj_tab[117] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_should_declare, __pyx_mstate->__pyx_kp_b_iso88591_A_6_D_D_3auG3c_q_5_c_a_1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[117])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2462};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_source_desc, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_index_2};
    __pyx_mstate_global->__pyx_codeobj_tab[118] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_lookup_filename, __pyx_mstate->__pyx_kp_b_iso88591_A_31_D_q_Cq_A_gQa_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[118])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2472};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_source_desc, __pyx_mstate->__pyx_n_u_source_file, __pyx_mstate->__pyx_n_u_F, __pyx_mstate->__pyx_n_u_line_2};
    __pyx_mstate_global->__pyx_codeobj_tab[119] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_commented_file_contents, __pyx_mstate->__pyx_kp_b_iso88591_A_4_1A_k_1IYoQ_AV1_HA_Ja_4s_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[119])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2494};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_utility_code, __pyx_mstate->__pyx_n_u_used_by};
    __pyx_mstate_global->__pyx_codeobj_tab[120] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_use_utility_code, __pyx_mstate->__pyx_kp_b_iso88591_Q_M_A_d_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[120])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2507};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_PyrexTypes, __pyx_mstate->__pyx_n_u_tp};
    __pyx_mstate_global->__pyx_codeobj_tab[121] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_use_entry_utility_code, __pyx_mstate->__pyx_kp_b_iso88591_A_6_A_5_q_5_q_wa_F_Qe1_wat9D_1Ba, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[121])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2520};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_func_2, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_attribute_of, __pyx_mstate->__pyx_n_u_get, __pyx_mstate->__pyx_n_u_get, __pyx_mstate->__pyx_n_u_set, __pyx_mstate->__pyx_n_u_set};
    __pyx_mstate_global->__pyx_codeobj_tab[122] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_funccontext_property, __pyx_mstate->__pyx_kp_b_iso88591_4q_8_aq_81E, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[122])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2535};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_emit_linenums, __pyx_mstate->__pyx_n_u_emit_code_comments, __pyx_mstate->__pyx_n_u_c_line_in_traceback};
    __pyx_mstate_global->__pyx_codeobj_tab[123] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_2, __pyx_mstate->__pyx_kp_b_iso88591_DA_Q_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[123])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2599};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_create_from, __pyx_mstate->__pyx_n_u_buffer, __pyx_mstate->__pyx_n_u_copy_formatting, __pyx_mstate->__pyx_n_u_result};
    __pyx_mstate_global->__pyx_codeobj_tab[124] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_create_new, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[124])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2605};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_global_state};
    __pyx_mstate_global->__pyx_codeobj_tab[125] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_set_global_state, __pyx_mstate->__pyx_kp_b_iso88591_A_t_1_O1_O_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[125])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2610};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_f};
    __pyx_mstate_global->__pyx_codeobj_tab[126] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_copyto, __pyx_mstate->__pyx_kp_b_iso88591_A_G7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[126])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2613};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[127] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_getvalue, __pyx_mstate->__pyx_kp_b_iso88591_A_t7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[127])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2616};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_s_4};
    __pyx_mstate_global->__pyx_codeobj_tab[128] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_write, __pyx_mstate->__pyx_kp_b_iso88591_A_5_1_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[128])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2632};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_s_4};
    __pyx_mstate_global->__pyx_codeobj_tab[129] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_write_to_buffer, __pyx_mstate->__pyx_kp_b_iso88591_A_G6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[129])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2635};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_other};
    __pyx_mstate_global->__pyx_codeobj_tab[130] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_insertion_point, __pyx_mstate->__pyx_kp_b_iso88591_A_Kq_F_WDTTXXhhi_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[130])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2639};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[131] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_writer, __pyx_mstate->__pyx_kp_b_iso88591_A_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[131])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2646};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_writer};
    __pyx_mstate_global->__pyx_codeobj_tab[132] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_insert, __pyx_mstate->__pyx_kp_b_iso88591_A_v_T_G7_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[132])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2657};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[133] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_label_counter, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[133])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2659};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[134] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_return_label, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[134])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2661};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[135] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_error_label, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[135])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2663};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[136] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_labels_used, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[136])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2665};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[137] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_continue_label, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[137])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2667};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[138] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_break_label, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[138])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2669};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[139] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_return_from_error_cleanup_label, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[139])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2671};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[140] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_yield_labels, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[140])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2699};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[141] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_label, __pyx_mstate->__pyx_kp_b_iso88591_Zwd_Jaq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[141])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS), 2700};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_args};
    __pyx_mstate_global->__pyx_codeobj_tab[142] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_error_label, __pyx_mstate->__pyx_kp_b_iso88591_wd_LBa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[142])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS), 2701};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_args};
    __pyx_mstate_global->__pyx_codeobj_tab[143] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_yield_label, __pyx_mstate->__pyx_kp_b_iso88591_wd_LBa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[143])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2702};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[144] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_loop_labels, __pyx_mstate->__pyx_kp_b_iso88591_wd_LA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[144])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2703};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_labels};
    __pyx_mstate_global->__pyx_codeobj_tab[145] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_set_loop_labels, __pyx_mstate->__pyx_kp_b_iso88591_wd_LAQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[145])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS), 2704};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_args};
    __pyx_mstate_global->__pyx_codeobj_tab[146] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_new_loop_labels, __pyx_mstate->__pyx_kp_b_iso88591_wd_LBa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[146])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2705};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[147] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_all_labels, __pyx_mstate->__pyx_kp_b_iso88591_wd_O1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[147])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2706};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_labels};
    __pyx_mstate_global->__pyx_codeobj_tab[148] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_set_all_labels, __pyx_mstate->__pyx_kp_b_iso88591_wd_O1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[148])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2707};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[149] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_all_new_labels, __pyx_mstate->__pyx_kp_b_iso88591_wd_O1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[149])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2708};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[150] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_use_label, __pyx_mstate->__pyx_kp_b_iso88591_wd_Jaq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[150])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2709};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[151] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_label_used, __pyx_mstate->__pyx_kp_b_iso88591_wd_Kq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[151])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2712};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_scope};
    __pyx_mstate_global->__pyx_codeobj_tab[152] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_enter_cfunc_scope, __pyx_mstate->__pyx_kp_b_iso88591_A_M_avV1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[152])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2715};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[153] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_exit_cfunc_scope, __pyx_mstate->__pyx_kp_b_iso88591_A_4_Q_JnA_M, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[153])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2721};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_signature, __pyx_mstate->__pyx_n_u_scope, __pyx_mstate->__pyx_n_u_refnanny, __pyx_mstate->__pyx_n_u_proto};
    __pyx_mstate_global->__pyx_codeobj_tab[154] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_start_initcfunc, __pyx_mstate->__pyx_kp_b_iso88591_a_L_aq_V1_q_aq_F_1_F_9AQ_1_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[154])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2734};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_class_scope, __pyx_mstate->__pyx_n_u_return_type, __pyx_mstate->__pyx_n_u_c_slot_name, __pyx_mstate->__pyx_n_u_args_signature, __pyx_mstate->__pyx_n_u_needs_funcstate, __pyx_mstate->__pyx_n_u_needs_prototype, __pyx_mstate->__pyx_n_u_slotfunc_cname, __pyx_mstate->__pyx_n_u_declaration};
    __pyx_mstate_global->__pyx_codeobj_tab[155] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_start_slotfunc, __pyx_mstate->__pyx_kp_b_iso88591_ddzz_4AQ_iq_A_Naq_1_AXV1Kxq_RRV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[155])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2748};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_str_value, __pyx_mstate->__pyx_n_u_longness};
    __pyx_mstate_global->__pyx_codeobj_tab[156] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_int, __pyx_mstate->__pyx_kp_b_iso88591_A_t_N_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[156])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2753};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_str_value, __pyx_mstate->__pyx_n_u_value_code};
    __pyx_mstate_global->__pyx_codeobj_tab[157] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_float, __pyx_mstate->__pyx_kp_b_iso88591_A_t_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[157])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2758};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prefix, __pyx_mstate->__pyx_n_u_dedup_key};
    __pyx_mstate_global->__pyx_codeobj_tab[158] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_const, __pyx_mstate->__pyx_kp_b_iso88591_Q_t_M, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[158])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2763};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text};
    __pyx_mstate_global->__pyx_codeobj_tab[159] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_string_const, __pyx_mstate->__pyx_kp_b_iso88591_A_t_0_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[159])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2766};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text};
    __pyx_mstate_global->__pyx_codeobj_tab[160] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_pyunicode_ptr_const, __pyx_mstate->__pyx_kp_b_iso88591_A_t_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[160])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2769};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text, __pyx_mstate->__pyx_n_u_identifier, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[161] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_string_const, __pyx_mstate->__pyx_kp_b_iso88591_31_L_4A_Q_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[161])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2774};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node};
    __pyx_mstate_global->__pyx_codeobj_tab[162] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_codeobj_const, __pyx_mstate->__pyx_kp_b_iso88591_A_t_9Naq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[162])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2777};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type};
    __pyx_mstate_global->__pyx_codeobj_tab[163] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_argument_default_const, __pyx_mstate->__pyx_kp_b_iso88591_A_t_9TTUUZZ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[163])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2780};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text};
    __pyx_mstate_global->__pyx_codeobj_tab[164] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_intern, __pyx_mstate->__pyx_kp_b_iso88591_A_t_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[164])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2783};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_text};
    __pyx_mstate_global->__pyx_codeobj_tab[165] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_intern_identifier, __pyx_mstate->__pyx_kp_b_iso88591_A_t_q_k, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[165])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2786};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_target};
    __pyx_mstate_global->__pyx_codeobj_tab[166] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_cached_constants_writer, __pyx_mstate->__pyx_kp_b_iso88591_1_t_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[166])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2789};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[167] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_name_in_module_state, __pyx_mstate->__pyx_kp_b_iso88591_A_4z_1_4_8_t_V_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[167])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2799};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[168] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_name_in_main_c_code_module_state, __pyx_mstate->__pyx_kp_b_iso88591_A_r_2_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[168])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2806};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[169] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_name_in_slot_module_state, __pyx_mstate->__pyx_kp_b_iso88591_A_r_31A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[169])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2812};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_scope};
    __pyx_mstate_global->__pyx_codeobj_tab[170] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_namespace_cname_in_module_state, __pyx_mstate->__pyx_kp_b_iso88591_A_5_5_4_AU, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[170])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2818};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type};
    __pyx_mstate_global->__pyx_codeobj_tab[171] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_typeptr_cname_in_module_state, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_4_AT_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[171])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2826};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code, __pyx_mstate->__pyx_n_u_safe};
    __pyx_mstate_global->__pyx_codeobj_tab[172] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_putln, __pyx_mstate->__pyx_kp_b_iso88591_4z_T_A_4_d_t4q_Qj_TTU_1_q_IQa_D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[172])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2840};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_trace};
    __pyx_mstate_global->__pyx_codeobj_tab[173] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_mark_pos, __pyx_mstate->__pyx_kp_b_iso88591_4s_4_D_8_S_2Q_M_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[173])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2859};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos};
    __pyx_mstate_global->__pyx_codeobj_tab[174] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_write_trace_line, __pyx_mstate->__pyx_kp_b_iso88591_A_4_d_Kt4_VWWX_q_Q_3ar_Qd_T_dR_f, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[174])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2877};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code};
    __pyx_mstate_global->__pyx_codeobj_tab[175] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_safe, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1_G1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[175])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2882};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_include_dir, __pyx_mstate->__pyx_n_u_hash, __pyx_mstate->__pyx_n_u_include_file, __pyx_mstate->__pyx_n_u_path, __pyx_mstate->__pyx_n_u_tmp_path, __pyx_mstate->__pyx_n_u_done, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_c_path};
    __pyx_mstate_global->__pyx_codeobj_tab[176] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_or_include, __pyx_mstate->__pyx_kp_b_iso88591_A_d_a_t3avRq_7_gQhj_2QfAQ_2U_q_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[176])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2919};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code};
    __pyx_mstate_global->__pyx_codeobj_tab[177] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_F_84s_A_4s_fAQ_s_A_Ja_Cr_T_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[177])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2939};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_utility};
    __pyx_mstate_global->__pyx_codeobj_tab[178] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_code_here, __pyx_mstate->__pyx_kp_b_iso88591_Q_t7_N_at1_7_4wa_Q_L_5T_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[178])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2958};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[179] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_begin_block, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[179])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2963};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[180] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_end_block, __pyx_mstate->__pyx_kp_b_iso88591_A_A_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[180])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2972};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyversion};
    __pyx_mstate_global->__pyx_codeobj_tab[181] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_get_py_version_hex, __pyx_mstate->__pyx_kp_b_iso88591_A_CuA_2Rr_Ba, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[181])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2975};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[182] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_label, __pyx_mstate->__pyx_kp_b_iso88591_A_4s_j_awb, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[182])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2979};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[183] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_goto, __pyx_mstate->__pyx_kp_b_iso88591_A_Jj_F_b, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[183])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2983};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_storage_class, __pyx_mstate->__pyx_n_u_dll_linkage, __pyx_mstate->__pyx_n_u_definition};
    __pyx_mstate_global->__pyx_codeobj_tab[184] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_declaration, __pyx_mstate->__pyx_kp_b_iso88591_7q_9_5_Cz_U_S_Q_5_Cz_T_a_4uA_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[184])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3009};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_func_context, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_manage_ref, __pyx_mstate->__pyx_n_u_static_2, __pyx_mstate->__pyx_n_u_decl, __pyx_mstate->__pyx_n_u_unused};
    __pyx_mstate_global->__pyx_codeobj_tab[185] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_temp_declarations, __pyx_mstate->__pyx_kp_b_iso88591_2_F_Jl_t_T_LPVVaabbc_t_9_t_AQ_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[185])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3032};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[186] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_generated_by, __pyx_mstate->__pyx_kp_b_iso88591_A_F_5_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[186])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3036};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_guard};
    __pyx_mstate_global->__pyx_codeobj_tab[187] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_h_guard, __pyx_mstate->__pyx_kp_b_iso88591_A_F_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[187])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3040};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cond};
    __pyx_mstate_global->__pyx_codeobj_tab[188] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_unlikely, __pyx_mstate->__pyx_kp_b_iso88591_A_7_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[188])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3046};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_modifiers, __pyx_mstate->__pyx_n_u_mapper, __pyx_mstate->__pyx_n_u_m};
    __pyx_mstate_global->__pyx_codeobj_tab[189] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_build_function_modifiers, __pyx_mstate->__pyx_kp_b_iso88591_9_4q_1_vRs_q_q_T_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[189])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3053};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_type};
    __pyx_mstate_global->__pyx_codeobj_tab[190] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_entry_as_pyobject, __pyx_mstate->__pyx_kp_b_iso88591_A_uA_D_d_uL_5_Q_E_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[190])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3061};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_py_object_type, __pyx_mstate->__pyx_n_u_typecast};
    __pyx_mstate_global->__pyx_codeobj_tab[191] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_as_pyobject, __pyx_mstate->__pyx_kp_b_iso88591_A_0_xq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[191])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3065};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type};
    __pyx_mstate_global->__pyx_codeobj_tab[192] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_gotref, __pyx_mstate->__pyx_kp_b_iso88591_A_AV1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[192])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3068};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type};
    __pyx_mstate_global->__pyx_codeobj_tab[193] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_giveref, __pyx_mstate->__pyx_kp_b_iso88591_A_QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[193])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3071};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type};
    __pyx_mstate_global->__pyx_codeobj_tab[194] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_xgiveref, __pyx_mstate->__pyx_kp_b_iso88591_A_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[194])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3074};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type};
    __pyx_mstate_global->__pyx_codeobj_tab[195] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_xgotref, __pyx_mstate->__pyx_kp_b_iso88591_A_QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[195])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3077};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_nanny};
    __pyx_mstate_global->__pyx_codeobj_tab[196] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_incref, __pyx_mstate->__pyx_kp_b_iso88591_A_AV7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[196])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3083};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_nanny};
    __pyx_mstate_global->__pyx_codeobj_tab[197] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_xincref, __pyx_mstate->__pyx_kp_b_iso88591_Q_QfG6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[197])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3086};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_nanny, __pyx_mstate->__pyx_n_u_have_gil};
    __pyx_mstate_global->__pyx_codeobj_tab[198] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_decref, __pyx_mstate->__pyx_kp_b_iso88591_O1_AV7_y, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[198])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3089};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_nanny, __pyx_mstate->__pyx_n_u_have_gil};
    __pyx_mstate_global->__pyx_codeobj_tab[199] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_xdecref, __pyx_mstate->__pyx_kp_b_iso88591_A_QfG6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[199])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3092};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_clear_before_decref, __pyx_mstate->__pyx_n_u_nanny, __pyx_mstate->__pyx_n_u_have_gil};
    __pyx_mstate_global->__pyx_codeobj_tab[200] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_decref_clear, __pyx_mstate->__pyx_kp_b_iso88591_6_0DA_G9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[200])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3096};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_clear_before_decref, __pyx_mstate->__pyx_n_u_nanny, __pyx_mstate->__pyx_n_u_have_gil};
    __pyx_mstate_global->__pyx_codeobj_tab[201] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_xdecref_clear, __pyx_mstate->__pyx_kp_b_iso88591_A_o_1F_1EQ_G9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[201])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3100};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_rhs_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[202] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_decref_set, __pyx_mstate->__pyx_kp_b_iso88591_A_wa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[202])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3103};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_rhs_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[203] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_xdecref_set, __pyx_mstate->__pyx_kp_b_iso88591_A_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[203])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3106};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_slice_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_have_gil};
    __pyx_mstate_global->__pyx_codeobj_tab[204] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_incref_memoryviewslice, __pyx_mstate->__pyx_kp_b_iso88591_A_AV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[204])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3110};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_have_gil};
    __pyx_mstate_global->__pyx_codeobj_tab[205] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_incref_memoryviewslice, __pyx_mstate->__pyx_kp_b_iso88591_A_q_XU, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[205])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3113};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[206] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_gotref, __pyx_mstate->__pyx_kp_b_iso88591_A_Kq_XU, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[206])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3116};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[207] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_giveref, __pyx_mstate->__pyx_kp_b_iso88591_A_L_he1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[207])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3119};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[208] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xgotref, __pyx_mstate->__pyx_kp_b_iso88591_A_L_he1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[208])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[209] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xgiveref, __pyx_mstate->__pyx_kp_b_iso88591_A_M_xuA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[209])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3125};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[210] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_incref, __pyx_mstate->__pyx_kp_b_iso88591_A_Kq_XU_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[210])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3128};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[211] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xincref, __pyx_mstate->__pyx_kp_b_iso88591_A_L_he9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[211])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3131};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[212] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_decref, __pyx_mstate->__pyx_kp_b_iso88591_A_Kq_XU_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[212])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3134};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[213] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xdecref, __pyx_mstate->__pyx_kp_b_iso88591_A_L_he9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[213])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3137};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[214] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_decref_clear, __pyx_mstate->__pyx_kp_b_iso88591_A_Qe85_7K5P, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[214])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3140};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_rhs_cname, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[215] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_decref_set, __pyx_mstate->__pyx_kp_b_iso88591_A_O1E_g, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[215])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3143};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_rhs_cname, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[216] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xdecref_set, __pyx_mstate->__pyx_kp_b_iso88591_A_AU_wm1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[216])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 3146};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_kwds};
    __pyx_mstate_global->__pyx_codeobj_tab[217] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xdecref_clear, __pyx_mstate->__pyx_kp_b_iso88591_A_auHE_8LEQ_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[217])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3149};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entries, __pyx_mstate->__pyx_n_u_used_only, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[218] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_decrefs, __pyx_mstate->__pyx_kp_b_iso88591_31_IQ_t_S_Q_5_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[218])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3157};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entries, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[219] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xdecrefs, __pyx_mstate->__pyx_kp_b_iso88591_A_IQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[219])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3161};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entries, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[220] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_var_xdecrefs_clear, __pyx_mstate->__pyx_kp_b_iso88591_A_IQ_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[220])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3165};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[221] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_make_object_deferred, __pyx_mstate->__pyx_kp_b_iso88591_A_D_1_Jf_6a_JfA_aq_a_B_1_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[221])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3176};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_nanny, __pyx_mstate->__pyx_n_u_py_object_type, __pyx_mstate->__pyx_n_u_typecast, __pyx_mstate->__pyx_n_u_py_none};
    __pyx_mstate_global->__pyx_codeobj_tab[222] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_init_to_py_none, __pyx_mstate->__pyx_kp_b_iso88591_5Q_0_6_1_1_a_G1_a_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[222])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3184};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_template, __pyx_mstate->__pyx_n_u_nanny, __pyx_mstate->__pyx_n_u_code};
    __pyx_mstate_global->__pyx_codeobj_tab[223] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_init_var_to_py_none, __pyx_mstate->__pyx_kp_b_iso88591_8_A_y_q_uG1_5_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[223])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3192};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_term, __pyx_mstate->__pyx_n_u_allow_skip, __pyx_mstate->__pyx_n_u_wrapper_code_writer, __pyx_mstate->__pyx_n_u_is_number_slot, __pyx_mstate->__pyx_n_u_TypeSlots, __pyx_mstate->__pyx_n_u_method_flags, __pyx_mstate->__pyx_n_u_func_ptr, __pyx_mstate->__pyx_n_u_cast, __pyx_mstate->__pyx_n_u_entry_name, __pyx_mstate->__pyx_n_u_slot, __pyx_mstate->__pyx_n_u_preproc_guard};
    __pyx_mstate_global->__pyx_codeobj_tab[224] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_pymethoddef, __pyx_mstate->__pyx_kp_b_iso88591_66PPQ_5_CuF_Q_7_uF_9_1_q_Q_T_TU, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[224])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3241};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_func_cname, __pyx_mstate->__pyx_n_u_method_flags, __pyx_mstate->__pyx_n_u_method_noargs, __pyx_mstate->__pyx_n_u_func_call};
    __pyx_mstate_global->__pyx_codeobj_tab[225] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_pymethoddef_wrapper, __pyx_mstate->__pyx_kp_b_iso88591_A_U_5_5_s_Q_1_S_V_A_F_bbc_Kr_a_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[225])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3263};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[226] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_use_fast_gil_utility_code, __pyx_mstate->__pyx_kp_b_iso88591_A_4_aq_Qk_QkQR_Qk_QmST, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[226])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3269};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_declare_gilstate, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_warning};
    __pyx_mstate_global->__pyx_codeobj_tab[227] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_ensure_gil, __pyx_mstate->__pyx_kp_b_iso88591_oQ_4_a_ES_1_A_L_1_8_a_4q_q_q_D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[227])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3292};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable};
    __pyx_mstate_global->__pyx_codeobj_tab[228] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_release_ensured_gil, __pyx_mstate->__pyx_kp_b_iso88591_q_a_4q_q_F_32Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[228])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3301};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[229] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_acquire_freethreading_lock, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1_F_1F_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[229])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3306};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[230] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_release_freethreading_lock, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1_F_QfA_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[230])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3311};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_unknown_gil_state, __pyx_mstate->__pyx_n_u_func_name};
    __pyx_mstate_global->__pyx_codeobj_tab[231] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_acquire_gil, __pyx_mstate->__pyx_kp_b_iso88591_q_a_F_1_1_a_Rq_1_Q_q_Q_F_3a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[231])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3328};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_unknown_gil_state, __pyx_mstate->__pyx_n_u_func_name, __pyx_mstate->__pyx_n_u_result_type};
    __pyx_mstate_global->__pyx_codeobj_tab[232] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_release_gil, __pyx_mstate->__pyx_kp_b_iso88591_q_a_1_Q_q_Q_F_3a_F_a_1_a_Rq_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[232])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3345};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[233] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_declare_gilstate, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[233])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3350};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[234] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_error_if_neg, __pyx_mstate->__pyx_kp_b_iso88591_A_t6_0_t_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[234])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3355};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_in_nogil_context, __pyx_mstate->__pyx_n_u_unbound_check_code, __pyx_mstate->__pyx_n_u_nogil_tag, __pyx_mstate->__pyx_n_u_func_2};
    __pyx_mstate_global->__pyx_codeobj_tab[235] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_error_if_unbound, __pyx_mstate->__pyx_kp_b_iso88591_ZZ_K_5Q_5_1_T_a_1_T_m4t5_SWW_bb, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[235])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3379};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_used};
    __pyx_mstate_global->__pyx_codeobj_tab[236] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_set_error_info, __pyx_mstate->__pyx_kp_b_iso88591_q_J_8_1_2_q_AQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[236])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3387};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_used, __pyx_mstate->__pyx_n_u_lbl};
    __pyx_mstate_global->__pyx_codeobj_tab[237] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_error_goto, __pyx_mstate->__pyx_kp_b_iso88591_1_d_A_Jj_4s_b_J_8_1_2_q_AQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[237])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3400};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cond, __pyx_mstate->__pyx_n_u_pos};
    __pyx_mstate_global->__pyx_codeobj_tab[238] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_error_goto_if, __pyx_mstate->__pyx_kp_b_iso88591_A_t9AWD_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[238])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3403};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_pos};
    __pyx_mstate_global->__pyx_codeobj_tab[239] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_error_goto_if_null, __pyx_mstate->__pyx_kp_b_iso88591_A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[239])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3406};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_pos};
    __pyx_mstate_global->__pyx_codeobj_tab[240] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_error_goto_if_neg, __pyx_mstate->__pyx_kp_b_iso88591_A_t_Rwa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[240])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3410};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos};
    __pyx_mstate_global->__pyx_codeobj_tab[241] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_error_goto_if_PyErr, __pyx_mstate->__pyx_kp_b_iso88591_A_t_6a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[241])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3413};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename};
    __pyx_mstate_global->__pyx_codeobj_tab[242] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_lookup_filename, __pyx_mstate->__pyx_kp_b_iso88591_A_t_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[242])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3416};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[243] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_declare_refcount_context, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[243])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3419};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_acquire_gil};
    __pyx_mstate_global->__pyx_codeobj_tab[244] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_setup_refcount_context, __pyx_mstate->__pyx_kp_b_iso88591_1_t_q_1_Q_q_A_F_F_dRTTWWX, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[244])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3426};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nogil};
    __pyx_mstate_global->__pyx_codeobj_tab[245] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_finish_refcount_context, __pyx_mstate->__pyx_kp_b_iso88591_0_F_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[245])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3429};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_qualified_name, __pyx_mstate->__pyx_n_u_include_cline, __pyx_mstate->__pyx_n_u_format_tuple};
    __pyx_mstate_global->__pyx_codeobj_tab[246] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_add_traceback, __pyx_mstate->__pyx_kp_b_iso88591_a_1_7q_J_a_F_9_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[246])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3446};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_qualified_name, __pyx_mstate->__pyx_n_u_nogil};
    __pyx_mstate_global->__pyx_codeobj_tab[247] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_unraisable, __pyx_mstate->__pyx_kp_b_iso88591_31_J_a_F_1_Kq_L_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[247])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3464};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[248] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_is_tracing, __pyx_mstate->__pyx_kp_b_iso88591_A_t_c_TUUV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[248])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3467};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_scope};
    __pyx_mstate_global->__pyx_codeobj_tab[249] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_pos_to_offset, __pyx_mstate->__pyx_kp_b_iso88591_A_Ja_fD_G5_E_u_Qhk, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[249])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3476};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_is_generator};
    __pyx_mstate_global->__pyx_codeobj_tab[250] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_declarations, __pyx_mstate->__pyx_kp_b_iso88591_2_F_33EQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[250])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3479};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_codeobj};
    __pyx_mstate_global->__pyx_codeobj_tab[251] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_frame_init, __pyx_mstate->__pyx_kp_b_iso88591_1_1_a_2_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[251])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3483};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_nogil, __pyx_mstate->__pyx_n_u_is_generator, __pyx_mstate->__pyx_n_u_is_cpdef_func, __pyx_mstate->__pyx_n_u_trace_func};
    __pyx_mstate_global->__pyx_codeobj_tab[252] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_start, __pyx_mstate->__pyx_kp_b_iso88591_CCXXY_F_aq_at_q_av_q_AS_as_1_at, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[252])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3497};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nogil};
    __pyx_mstate_global->__pyx_codeobj_tab[253] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_exit, __pyx_mstate->__pyx_kp_b_iso88591_1_F_2_4q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[253])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3500};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_retvalue_cname, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_error_goto};
    __pyx_mstate_global->__pyx_codeobj_tab[254] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_yield, __pyx_mstate->__pyx_kp_b_iso88591_A_T_AQ_F_a_8_1GSTTU, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[254])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3504};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_scope, __pyx_mstate->__pyx_n_u_first_line, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_filename_index, __pyx_mstate->__pyx_n_u_error_goto};
    __pyx_mstate_global->__pyx_codeobj_tab[255] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_resume, __pyx_mstate->__pyx_kp_b_iso88591_A_Ja_U_d_6_6H_1A_uE_Q_Qc_T_AQ_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[255])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3521};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_reraise, __pyx_mstate->__pyx_n_u_fresh};
    __pyx_mstate_global->__pyx_codeobj_tab[256] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_exception, __pyx_mstate->__pyx_kp_b_iso88591_A_F_4_QgQd_8SXXYY_dde, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[256])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3524};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[257] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_exception_propagating, __pyx_mstate->__pyx_kp_b_iso88591_A_F_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[257])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3527};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos};
    __pyx_mstate_global->__pyx_codeobj_tab[258] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_exception_handled, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1_nAQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[258])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3530};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_nogil};
    __pyx_mstate_global->__pyx_codeobj_tab[259] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_unwind, __pyx_mstate->__pyx_kp_b_iso88591_F_0_1G1DPQQWWX, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[259])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3533};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_error_goto};
    __pyx_mstate_global->__pyx_codeobj_tab[260] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_stopiteration, __pyx_mstate->__pyx_kp_b_iso88591_A_T_AQ_F_axq_N_7RSST, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[260])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3537};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_retvalue_cname, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_return_type, __pyx_mstate->__pyx_n_u_nogil, __pyx_mstate->__pyx_n_u_extra_arg, __pyx_mstate->__pyx_n_u_trace_func, __pyx_mstate->__pyx_n_u_error_handling};
    __pyx_mstate_global->__pyx_codeobj_tab[261] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_trace_return, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Q_s_AQ_Q_Q_A_Q_F_3l_3_q_NRS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[261])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3561};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_target, __pyx_mstate->__pyx_n_u_utility_code_2};
    __pyx_mstate_global->__pyx_codeobj_tab[262] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_cpp_placement_new, __pyx_mstate->__pyx_kp_b_iso88591_A_7uA_TTU_L_F_9, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[262])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3566};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_string};
    __pyx_mstate_global->__pyx_codeobj_tab[263] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_putln_openmp, __pyx_mstate->__pyx_kp_b_iso88591_A_F_1_F_1_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[263])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3571};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cond};
    __pyx_mstate_global->__pyx_codeobj_tab[264] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_undef_builtin_expect, __pyx_mstate->__pyx_kp_b_iso88591_A_F_9Ba_F_1_F_1_F_1_F_1_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[264])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3583};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cond};
    __pyx_mstate_global->__pyx_codeobj_tab[265] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_redef_builtin_expect, __pyx_mstate->__pyx_kp_b_iso88591_A_F_9Ba_F_1_F_1_F_1_F_1_F_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[265])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3600};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_code};
    __pyx_mstate_global->__pyx_codeobj_tab[266] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_putln, __pyx_mstate->__pyx_kp_b_iso88591_A_BfA_Rt81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[266])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3603};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[267] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_indent, __pyx_mstate->__pyx_kp_b_iso88591_A_Ja, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[267])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3606};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[268] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_dedent, __pyx_mstate->__pyx_kp_b_iso88591_A_Ja, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[268])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3623};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_levels};
    __pyx_mstate_global->__pyx_codeobj_tab[269] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_indent, __pyx_mstate->__pyx_kp_b_iso88591_A_Ja_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[269])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3627};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_levels};
    __pyx_mstate_global->__pyx_codeobj_tab[270] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_dedent, __pyx_mstate->__pyx_kp_b_iso88591_A_Ja_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[270])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3641};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[271] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_empty_2, __pyx_mstate->__pyx_kp_b_iso88591_A_t7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[271])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3644};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_result};
    __pyx_mstate_global->__pyx_codeobj_tab[272] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_getvalue, __pyx_mstate->__pyx_kp_b_iso88591_A_WIQ_Qha_V7_4q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[272])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3650};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_line_2, __pyx_mstate->__pyx_n_u_context};
    __pyx_mstate_global->__pyx_codeobj_tab[273] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_putln, __pyx_mstate->__pyx_kp_b_iso88591_83a_t9G1_a_87_avQ_G6_T_j, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[273])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3659};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_chunk, __pyx_mstate->__pyx_n_u_context};
    __pyx_mstate_global->__pyx_codeobj_tab[274] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_put_chunk, __pyx_mstate->__pyx_kp_b_iso88591_q_83a_t9G1_a_87_Kq_q_QgT_G6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[274])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3669};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[275] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_insertion_point, __pyx_mstate->__pyx_kp_b_iso88591_A_t1E_g_5T_XT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[275])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3672};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[276] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_reset, __pyx_mstate->__pyx_kp_b_iso88591_A_G6_IT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[276])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3678};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[277] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_named_insertion_point, __pyx_mstate->__pyx_kp_b_iso88591_A_axt_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[277])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3685};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_chunk, __pyx_mstate->__pyx_n_u_indentation_length};
    __pyx_mstate_global->__pyx_codeobj_tab[278] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_indent_chunk, __pyx_mstate->__pyx_kp_b_iso88591_2_5_q_E_AYa_t1_q_Rr_q_RuA_E_1_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[278])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3746};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_klass};
    __pyx_mstate_global->__pyx_codeobj_tab[279] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_init_2, __pyx_mstate->__pyx_kp_b_iso88591_A_IQ_q_N_O1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[279])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3752};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_cnames};
    __pyx_mstate_global->__pyx_codeobj_tab[280] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_reset, __pyx_mstate->__pyx_kp_b_iso88591_A_F_D_0_a_1HD, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[280])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3756};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_type, __pyx_mstate->__pyx_n_u_cname};
    __pyx_mstate_global->__pyx_codeobj_tab[281] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_Cython_Compiler_Code_py, __pyx_mstate->__pyx_n_u_allocate_temp, __pyx_mstate->__pyx_kp_b_iso88591_A_5_t1_1HA_AQ_4_5_AQ_s_9_Q_F_at6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[281])) goto bad;
  }
  Py_DECREF(tuple_dedup_map);
  return 0;
  bad:
  Py_DECREF(tuple_dedup_map);
  return -1;
}
/* #### Code section: init_globals ### */

static int __Pyx_InitGlobals(void) {
  /* PythonCompatibility.init */
  if (likely(__Pyx_init_co_variables() == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* CommonTypesMetaclass.init */
  if (likely(__pyx_CommonTypesMetaclass_init(__pyx_m) == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* CachedMethodType.init */
  #if CYTHON_COMPILING_IN_LIMITED_API
  {
      PyObject *typesModule=NULL;
      typesModule = PyImport_ImportModule("types");
      if (typesModule) {
          __pyx_mstate_global->__Pyx_CachedMethodType = PyObject_GetAttrString(typesModule, "MethodType");
          Py_DECREF(typesModule);
      }
  } // error handling follows
  #endif
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* CythonFunctionShared.init */
  if (likely(__pyx_CyFunction_init(__pyx_m) == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* AssertionsEnabled.init */
  if (likely(__Pyx_init_assertions_enabled() == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* Generator.init */
  if (likely(__pyx_Generator_init(__pyx_m) == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cleanup_globals ### */
/* #### Code section: cleanup_module ### */
/* #### Code section: main_method ### */
/* #### Code section: utility_code_pragmas ### */
#ifdef _MSC_VER
#pragma warning( push )
/* Warning 4127: conditional expression is constant
 * Cython uses constant conditional expressions to allow in inline functions to be optimized at
 * compile-time, so this warning is not useful
 */
#pragma warning( disable : 4127 )
#endif



/* #### Code section: utility_code_def ### */

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule(modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, "RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* PyErrExceptionMatches (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    n = PyTuple_GET_SIZE(tuple);
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
    for (i=0; i<n; i++) {
        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    int result;
    PyObject *exc_type;
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *current_exception = tstate->current_exception;
    if (unlikely(!current_exception)) return 0;
    exc_type = (PyObject*) Py_TYPE(current_exception);
    if (exc_type == err) return 1;
#else
    exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
#endif
    #if CYTHON_AVOID_BORROWED_REFS
    Py_INCREF(exc_type);
    #endif
    if (unlikely(PyTuple_Check(err))) {
        result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    } else {
        result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
    }
    #if CYTHON_AVOID_BORROWED_REFS
    Py_DECREF(exc_type);
    #endif
    return result;
}
#endif

/* PyErrFetchRestore (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *tmp_value;
    assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
    if (value) {
        #if CYTHON_COMPILING_IN_CPYTHON
        if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
        #endif
            PyException_SetTraceback(value, tb);
    }
    tmp_value = tstate->current_exception;
    tstate->current_exception = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
#else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#endif
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject* exc_value;
    exc_value = tstate->current_exception;
    tstate->current_exception = 0;
    *value = exc_value;
    *type = NULL;
    *tb = NULL;
    if (exc_value) {
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        #if CYTHON_COMPILING_IN_CPYTHON
        *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
        Py_XINCREF(*tb);
        #else
        *tb = PyException_GetTraceback(exc_value);
        #endif
    }
#else
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#endif
}
#endif

/* PyObjectGetAttrStr (used by PyObjectGetAttrStrNoError) */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* PyObjectGetAttrStrNoError (used by GetBuiltinName) */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        __Pyx_PyErr_Clear();
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
    PyObject *result;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
    return result;
#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
        return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
    }
#endif
    result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
    if (unlikely(!result)) {
        __Pyx_PyObject_GetAttrStr_ClearAttributeError();
    }
    return result;
#endif
}

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_mstate_global->__pyx_b, name);
    if (unlikely(!result) && !PyErr_Occurred()) {
        PyErr_Format(PyExc_NameError,
            "name '%U' is not defined", name);
    }
    return result;
}

/* TupleAndListFromArray (used by fastcall) */
#if !CYTHON_COMPILING_IN_CPYTHON && CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    Py_ssize_t i;
    if (n <= 0) {
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    for (i = 0; i < n; i++) {
        if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) {
            Py_DECREF(res);
            return NULL;
        }
        Py_INCREF(src[i]);
    }
    return res;
}
#elif CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
    PyObject *v;
    Py_ssize_t i;
    for (i = 0; i < length; i++) {
        v = dest[i] = src[i];
        Py_INCREF(v);
    }
}
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n);
    return res;
}
static CYTHON_INLINE PyObject *
__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return PyList_New(0);
    }
    res = PyList_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n);
    return res;
}
#endif

/* BytesEquals (used by UnicodeEquals) */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL ||\
        !(CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS)
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    if (s1 == s2) {
        return (equals == Py_EQ);
    } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
        const char *ps1, *ps2;
        Py_ssize_t length = PyBytes_GET_SIZE(s1);
        if (length != PyBytes_GET_SIZE(s2))
            return (equals == Py_NE);
        ps1 = PyBytes_AS_STRING(s1);
        ps2 = PyBytes_AS_STRING(s2);
        if (ps1[0] != ps2[0]) {
            return (equals == Py_NE);
        } else if (length == 1) {
            return (equals == Py_EQ);
        } else {
            int result;
#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
            Py_hash_t hash1, hash2;
            hash1 = ((PyBytesObject*)s1)->ob_shash;
            hash2 = ((PyBytesObject*)s2)->ob_shash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                return (equals == Py_NE);
            }
#endif
            result = memcmp(ps1, ps2, (size_t)length);
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
        return (equals == Py_NE);
    } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
        return (equals == Py_NE);
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
#endif
}

/* UnicodeEquals (used by fastcall) */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    int s1_is_unicode, s2_is_unicode;
    if (s1 == s2) {
        goto return_eq;
    }
    s1_is_unicode = PyUnicode_CheckExact(s1);
    s2_is_unicode = PyUnicode_CheckExact(s2);
    if (s1_is_unicode & s2_is_unicode) {
        Py_ssize_t length, length2;
        int kind;
        void *data1, *data2;
        #if !CYTHON_COMPILING_IN_LIMITED_API
        if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
            return -1;
        #endif
        length = __Pyx_PyUnicode_GET_LENGTH(s1);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(length < 0)) return -1;
        #endif
        length2 = __Pyx_PyUnicode_GET_LENGTH(s2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(length2 < 0)) return -1;
        #endif
        if (length != length2) {
            goto return_ne;
        }
#if CYTHON_USE_UNICODE_INTERNALS
        {
            Py_hash_t hash1, hash2;
            hash1 = ((PyASCIIObject*)s1)->hash;
            hash2 = ((PyASCIIObject*)s2)->hash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                goto return_ne;
            }
        }
#endif
        kind = __Pyx_PyUnicode_KIND(s1);
        if (kind != __Pyx_PyUnicode_KIND(s2)) {
            goto return_ne;
        }
        data1 = __Pyx_PyUnicode_DATA(s1);
        data2 = __Pyx_PyUnicode_DATA(s2);
        if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
            goto return_ne;
        } else if (length == 1) {
            goto return_eq;
        } else {
            int result = memcmp(data1, data2, (size_t)(length * kind));
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & s2_is_unicode) {
        goto return_ne;
    } else if ((s2 == Py_None) & s1_is_unicode) {
        goto return_ne;
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
return_eq:
    return (equals == Py_EQ);
return_ne:
    return (equals == Py_NE);
#endif
}

/* fastcall */
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s)
{
    Py_ssize_t i, n = __Pyx_PyTuple_GET_SIZE(kwnames);
    #if !CYTHON_ASSUME_SAFE_SIZE
    if (unlikely(n == -1)) return NULL;
    #endif
    for (i = 0; i < n; i++)
    {
        PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!namei)) return NULL;
        #endif
        if (s == namei) return kwvalues[i];
    }
    for (i = 0; i < n; i++)
    {
        PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!namei)) return NULL;
        #endif
        int eq = __Pyx_PyUnicode_Equals(s, namei, Py_EQ);
        if (unlikely(eq != 0)) {
            if (unlikely(eq < 0)) return NULL;
            return kwvalues[i];
        }
    }
    return NULL;
}
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
    Py_ssize_t i, nkwargs;
    PyObject *dict;
#if !CYTHON_ASSUME_SAFE_SIZE
    nkwargs = PyTuple_Size(kwnames);
    if (unlikely(nkwargs < 0)) return NULL;
#else
    nkwargs = PyTuple_GET_SIZE(kwnames);
#endif
    dict = PyDict_New();
    if (unlikely(!dict))
        return NULL;
    for (i=0; i<nkwargs; i++) {
#if !CYTHON_ASSUME_SAFE_MACROS
        PyObject *key = PyTuple_GetItem(kwnames, i);
        if (!key) goto bad;
#else
        PyObject *key = PyTuple_GET_ITEM(kwnames, i);
#endif
        if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
            goto bad;
    }
    return dict;
bad:
    Py_DECREF(dict);
    return NULL;
}
#endif
#endif

/* PyObjectCall (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallMethO (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
    self = __Pyx_CyOrPyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectFastCall (used by PyObjectCallOneArg) */
#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject * const*args, size_t nargs, PyObject *kwargs) {
    PyObject *argstuple;
    PyObject *result = 0;
    size_t i;
    argstuple = PyTuple_New((Py_ssize_t)nargs);
    if (unlikely(!argstuple)) return NULL;
    for (i = 0; i < nargs; i++) {
        Py_INCREF(args[i]);
        if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) != (0)) goto bad;
    }
    result = __Pyx_PyObject_Call(func, argstuple, kwargs);
  bad:
    Py_DECREF(argstuple);
    return result;
}
#endif
#if CYTHON_VECTORCALL && !CYTHON_COMPILING_IN_LIMITED_API
  #if PY_VERSION_HEX < 0x03090000
    #define __Pyx_PyVectorcall_Function(callable) _PyVectorcall_Function(callable)
  #elif CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE vectorcallfunc __Pyx_PyVectorcall_Function(PyObject *callable) {
    PyTypeObject *tp = Py_TYPE(callable);
    #if defined(__Pyx_CyFunction_USED)
    if (__Pyx_CyFunction_CheckExact(callable)) {
        return __Pyx_CyFunction_func_vectorcall(callable);
    }
    #endif
    if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) {
        return NULL;
    }
    assert(PyCallable_Check(callable));
    Py_ssize_t offset = tp->tp_vectorcall_offset;
    assert(offset > 0);
    vectorcallfunc ptr;
    memcpy(&ptr, (char *) callable + offset, sizeof(ptr));
    return ptr;
}
  #else
    #define __Pyx_PyVectorcall_Function(callable) PyVectorcall_Function(callable)
  #endif
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject *const *args, size_t _nargs, PyObject *kwargs) {
    Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
    if (nargs == 0 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
            return __Pyx_PyObject_CallMethO(func, NULL);
    }
    else if (nargs == 1 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
            return __Pyx_PyObject_CallMethO(func, args[0]);
    }
#endif
    if (kwargs == NULL) {
        #if CYTHON_VECTORCALL
          #if CYTHON_COMPILING_IN_LIMITED_API
            return PyObject_Vectorcall(func, args, _nargs, NULL);
          #else
            vectorcallfunc f = __Pyx_PyVectorcall_Function(func);
            if (f) {
                return f(func, args, _nargs, NULL);
            }
          #endif
        #endif
    }
    if (nargs == 0) {
        return __Pyx_PyObject_Call(func, __pyx_mstate_global->__pyx_empty_tuple, kwargs);
    }
    #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
    #else
    return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
    #endif
}

/* PyObjectCallOneArg (used by CallUnboundCMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *args[2] = {NULL, arg};
    return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* UnpackUnboundCMethod (used by CallUnboundCMethod0) */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) {
    PyObject *result;
    PyObject *selfless_args = PyTuple_GetSlice(args, 1, PyTuple_Size(args));
    if (unlikely(!selfless_args)) return NULL;
    result = PyObject_Call(method, selfless_args, kwargs);
    Py_DECREF(selfless_args);
    return result;
}
#elif CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03090000
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) {
        return _PyObject_Vectorcall
            (method, args ? args+1 : NULL, nargs ? nargs-1 : 0, kwnames);
}
#else
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) {
    return
#if PY_VERSION_HEX < 0x03090000
    _PyObject_Vectorcall
#else
    PyObject_Vectorcall
#endif
        (method, args ? args+1 : NULL, nargs ? (size_t) nargs-1 : 0, kwnames);
}
#endif
static PyMethodDef __Pyx_UnboundCMethod_Def = {
     "CythonUnboundCMethod",
     __PYX_REINTERPRET_FUNCION(PyCFunction, __Pyx_SelflessCall),
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
     METH_VARARGS | METH_KEYWORDS,
#else
     METH_FASTCALL | METH_KEYWORDS,
#endif
     NULL
};
static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
    PyObject *method, *result=NULL;
    method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
    if (unlikely(!method))
        return -1;
    result = method;
#if CYTHON_COMPILING_IN_CPYTHON
    if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
    {
        PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
        target->func = descr->d_method->ml_meth;
        target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
    } else
#endif
#if CYTHON_COMPILING_IN_PYPY
#else
    if (PyCFunction_Check(method))
#endif
    {
        PyObject *self;
        int self_found;
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        self = PyObject_GetAttrString(method, "__self__");
        if (!self) {
            PyErr_Clear();
        }
#else
        self = PyCFunction_GET_SELF(method);
#endif
        self_found = (self && self != Py_None);
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        Py_XDECREF(self);
#endif
        if (self_found) {
            PyObject *unbound_method = PyCFunction_New(&__Pyx_UnboundCMethod_Def, method);
            if (unlikely(!unbound_method)) return -1;
            Py_DECREF(method);
            result = unbound_method;
        }
    }
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    if (unlikely(target->method)) {
        Py_DECREF(result);
    } else
#endif
    target->method = result;
    return 0;
}

/* CallUnboundCMethod0 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
    int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
    if (likely(was_initialized == 2 && cfunc->func)) {
        if (likely(cfunc->flag == METH_NOARGS))
            return __Pyx_CallCFunction(cfunc, self, NULL);
        if (likely(cfunc->flag == METH_FASTCALL))
            return __Pyx_CallCFunctionFast(cfunc, self, NULL, 0);
        if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
            return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, NULL, 0, NULL);
        if (likely(cfunc->flag == (METH_VARARGS | METH_KEYWORDS)))
            return __Pyx_CallCFunctionWithKeywords(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple, NULL);
        if (cfunc->flag == METH_VARARGS)
            return __Pyx_CallCFunction(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple);
        return __Pyx__CallUnboundCMethod0(cfunc, self);
    }
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    else if (unlikely(was_initialized == 1)) {
        __Pyx_CachedCFunction tmp_cfunc = {
#ifndef __cplusplus
            0
#endif
        };
        tmp_cfunc.type = cfunc->type;
        tmp_cfunc.method_name = cfunc->method_name;
        return __Pyx__CallUnboundCMethod0(&tmp_cfunc, self);
    }
#endif
    PyObject *result = __Pyx__CallUnboundCMethod0(cfunc, self);
    __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
    return result;
}
#endif
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
    PyObject *result;
    if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
    result = __Pyx_PyObject_CallOneArg(cfunc->method, self);
    return result;
}

/* py_dict_items (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) {
    return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_items, d);
}

/* py_dict_values (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) {
    return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_values, d);
}

/* OwnedDictNext (used by ParseKeywordsImpl) */
#if CYTHON_AVOID_BORROWED_REFS
static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue) {
    PyObject *next = NULL;
    if (!*ppos) {
        if (pvalue) {
            PyObject *dictview = pkey ? __Pyx_PyDict_Items(p) : __Pyx_PyDict_Values(p);
            if (unlikely(!dictview)) goto bad;
            *ppos = PyObject_GetIter(dictview);
            Py_DECREF(dictview);
        } else {
            *ppos = PyObject_GetIter(p);
        }
        if (unlikely(!*ppos)) goto bad;
    }
    next = PyIter_Next(*ppos);
    if (!next) {
        if (PyErr_Occurred()) goto bad;
        return 0;
    }
    if (pkey && pvalue) {
        *pkey = __Pyx_PySequence_ITEM(next, 0);
        if (unlikely(*pkey)) goto bad;
        *pvalue = __Pyx_PySequence_ITEM(next, 1);
        if (unlikely(*pvalue)) goto bad;
        Py_DECREF(next);
    } else if (pkey) {
        *pkey = next;
    } else {
        assert(pvalue);
        *pvalue = next;
    }
    return 1;
  bad:
    Py_XDECREF(next);
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
    PyErr_FormatUnraisable("Exception ignored in __Pyx_PyDict_NextRef");
#else
    PyErr_WriteUnraisable(__pyx_mstate_global->__pyx_n_u_Pyx_PyDict_NextRef);
#endif
    if (pkey) *pkey = NULL;
    if (pvalue) *pvalue = NULL;
    return 0;
}
#else // !CYTHON_AVOID_BORROWED_REFS
static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue) {
    int result = PyDict_Next(p, ppos, pkey, pvalue);
    if (likely(result == 1)) {
        if (pkey) Py_INCREF(*pkey);
        if (pvalue) Py_INCREF(*pvalue);
    }
    return result;
}
#endif

/* RaiseDoubleKeywords (used by ParseKeywordsImpl) */
static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
}

/* CallUnboundCMethod2 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) {
    int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
    if (likely(was_initialized == 2 && cfunc->func)) {
        PyObject *args[2] = {arg1, arg2};
        if (cfunc->flag == METH_FASTCALL) {
            return __Pyx_CallCFunctionFast(cfunc, self, args, 2);
        }
        if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
            return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, 2, NULL);
    }
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    else if (unlikely(was_initialized == 1)) {
        __Pyx_CachedCFunction tmp_cfunc = {
#ifndef __cplusplus
            0
#endif
        };
        tmp_cfunc.type = cfunc->type;
        tmp_cfunc.method_name = cfunc->method_name;
        return __Pyx__CallUnboundCMethod2(&tmp_cfunc, self, arg1, arg2);
    }
#endif
    PyObject *result = __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2);
    __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
    return result;
}
#endif
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){
    if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_COMPILING_IN_CPYTHON
    if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
        PyObject *result = NULL;
        PyObject *args = PyTuple_New(2);
        if (unlikely(!args)) return NULL;
        Py_INCREF(arg1);
        PyTuple_SET_ITEM(args, 0, arg1);
        Py_INCREF(arg2);
        PyTuple_SET_ITEM(args, 1, arg2);
        if (cfunc->flag & METH_KEYWORDS)
            result = __Pyx_CallCFunctionWithKeywords(cfunc, self, args, NULL);
        else
            result = __Pyx_CallCFunction(cfunc, self, args);
        Py_DECREF(args);
        return result;
    }
#endif
    {
        PyObject *args[4] = {NULL, self, arg1, arg2};
        return __Pyx_PyObject_FastCall(cfunc->method, args+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
    }
}

/* ParseKeywordsImpl (used by ParseKeywords) */
static int __Pyx_ValidateDuplicatePosArgs(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    const char* function_name)
{
    PyObject ** const *name = argnames;
    while (name != first_kw_arg) {
        PyObject *key = **name;
        int found = PyDict_Contains(kwds, key);
        if (unlikely(found)) {
            if (found == 1) __Pyx_RaiseDoubleKeywordsError(function_name, key);
            goto bad;
        }
        name++;
    }
    return 0;
bad:
    return -1;
}
#if CYTHON_USE_UNICODE_INTERNALS
static CYTHON_INLINE int __Pyx_UnicodeKeywordsEqual(PyObject *s1, PyObject *s2) {
    int kind;
    Py_ssize_t len = PyUnicode_GET_LENGTH(s1);
    if (len != PyUnicode_GET_LENGTH(s2)) return 0;
    kind = PyUnicode_KIND(s1);
    if (kind != PyUnicode_KIND(s2)) return 0;
    const void *data1 = PyUnicode_DATA(s1);
    const void *data2 = PyUnicode_DATA(s2);
    return (memcmp(data1, data2, (size_t) len * (size_t) kind) == 0);
}
#endif
static int __Pyx_MatchKeywordArg_str(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    PyObject ** const *name;
    #if CYTHON_USE_UNICODE_INTERNALS
    Py_hash_t key_hash = ((PyASCIIObject*)key)->hash;
    if (unlikely(key_hash == -1)) {
        key_hash = PyObject_Hash(key);
        if (unlikely(key_hash == -1))
            goto bad;
    }
    #endif
    name = first_kw_arg;
    while (*name) {
        PyObject *name_str = **name;
        #if CYTHON_USE_UNICODE_INTERNALS
        if (key_hash == ((PyASCIIObject*)name_str)->hash && __Pyx_UnicodeKeywordsEqual(name_str, key)) {
            *index_found = (size_t) (name - argnames);
            return 1;
        }
        #else
        #if CYTHON_ASSUME_SAFE_SIZE
        if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
        #endif
        {
            int cmp = PyUnicode_Compare(name_str, key);
            if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
            if (cmp == 0) {
                *index_found = (size_t) (name - argnames);
                return 1;
            }
        }
        #endif
        name++;
    }
    name = argnames;
    while (name != first_kw_arg) {
        PyObject *name_str = **name;
        #if CYTHON_USE_UNICODE_INTERNALS
        if (unlikely(key_hash == ((PyASCIIObject*)name_str)->hash)) {
            if (__Pyx_UnicodeKeywordsEqual(name_str, key))
                goto arg_passed_twice;
        }
        #else
        #if CYTHON_ASSUME_SAFE_SIZE
        if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
        #endif
        {
            if (unlikely(name_str == key)) goto arg_passed_twice;
            int cmp = PyUnicode_Compare(name_str, key);
            if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
            if (cmp == 0) goto arg_passed_twice;
        }
        #endif
        name++;
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
bad:
    return -1;
}
static int __Pyx_MatchKeywordArg_nostr(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    PyObject ** const *name;
    if (unlikely(!PyUnicode_Check(key))) goto invalid_keyword_type;
    name = first_kw_arg;
    while (*name) {
        int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
        if (cmp == 1) {
            *index_found = (size_t) (name - argnames);
            return 1;
        }
        if (unlikely(cmp == -1)) goto bad;
        name++;
    }
    name = argnames;
    while (name != first_kw_arg) {
        int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
        if (unlikely(cmp != 0)) {
            if (cmp == 1) goto arg_passed_twice;
            else goto bad;
        }
        name++;
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    goto bad;
bad:
    return -1;
}
static CYTHON_INLINE int __Pyx_MatchKeywordArg(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    return likely(PyUnicode_CheckExact(key)) ?
        __Pyx_MatchKeywordArg_str(key, argnames, first_kw_arg, index_found, function_name) :
        __Pyx_MatchKeywordArg_nostr(key, argnames, first_kw_arg, index_found, function_name);
}
static void __Pyx_RejectUnknownKeyword(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    const char *function_name)
{
    #if CYTHON_AVOID_BORROWED_REFS
    PyObject *pos = NULL;
    #else
    Py_ssize_t pos = 0;
    #endif
    PyObject *key = NULL;
    __Pyx_BEGIN_CRITICAL_SECTION(kwds);
    while (
        #if CYTHON_AVOID_BORROWED_REFS
        __Pyx_PyDict_NextRef(kwds, &pos, &key, NULL)
        #else
        PyDict_Next(kwds, &pos, &key, NULL)
        #endif
    ) {
        PyObject** const *name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (!*name) {
            size_t index_found = 0;
            int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
            if (cmp != 1) {
                if (cmp == 0) {
                    PyErr_Format(PyExc_TypeError,
                        "%s() got an unexpected keyword argument '%U'",
                        function_name, key);
                }
                #if CYTHON_AVOID_BORROWED_REFS
                Py_DECREF(key);
                #endif
                break;
            }
        }
        #if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(key);
        #endif
    }
    __Pyx_END_CRITICAL_SECTION();
    #if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(pos);
    #endif
    assert(PyErr_Occurred());
}
static int __Pyx_ParseKeywordDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    PyObject** const *name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    Py_ssize_t extracted = 0;
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
    if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1;
#endif
    name = first_kw_arg;
    while (*name && num_kwargs > extracted) {
        PyObject * key = **name;
        PyObject *value;
        int found = 0;
        #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
        found = PyDict_GetItemRef(kwds, key, &value);
        #else
        value = PyDict_GetItemWithError(kwds, key);
        if (value) {
            Py_INCREF(value);
            found = 1;
        } else {
            if (unlikely(PyErr_Occurred())) goto bad;
        }
        #endif
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
            extracted++;
        }
        name++;
    }
    if (num_kwargs > extracted) {
        if (ignore_unknown_kwargs) {
            if (unlikely(__Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name) == -1))
                goto bad;
        } else {
            __Pyx_RejectUnknownKeyword(kwds, argnames, first_kw_arg, function_name);
            goto bad;
        }
    }
    return 0;
bad:
    return -1;
}
static int __Pyx_ParseKeywordDictToDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject** const *name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    Py_ssize_t len;
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
    if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1;
#endif
    if (PyDict_Update(kwds2, kwds) < 0) goto bad;
    name = first_kw_arg;
    while (*name) {
        PyObject *key = **name;
        PyObject *value;
#if !CYTHON_COMPILING_IN_LIMITED_API && (PY_VERSION_HEX >= 0x030d00A2 || defined(PyDict_Pop))
        int found = PyDict_Pop(kwds2, key, &value);
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
        }
#elif __PYX_LIMITED_VERSION_HEX >= 0x030d0000
        int found = PyDict_GetItemRef(kwds2, key, &value);
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
            if (unlikely(PyDict_DelItem(kwds2, key) < 0)) goto bad;
        }
#else
    #if CYTHON_COMPILING_IN_CPYTHON
        value = _PyDict_Pop(kwds2, key, kwds2);
    #else
        value = __Pyx_CallUnboundCMethod2(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_pop, kwds2, key, kwds2);
    #endif
        if (value == kwds2) {
            Py_DECREF(value);
        } else {
            if (unlikely(!value)) goto bad;
            values[name-argnames] = value;
        }
#endif
        name++;
    }
    len = PyDict_Size(kwds2);
    if (len > 0) {
        return __Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name);
    } else if (unlikely(len == -1)) {
        goto bad;
    }
    return 0;
bad:
    return -1;
}
static int __Pyx_ParseKeywordsTuple(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    PyObject *key = NULL;
    PyObject** const * name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    for (Py_ssize_t pos = 0; pos < num_kwargs; pos++) {
#if CYTHON_AVOID_BORROWED_REFS
        key = __Pyx_PySequence_ITEM(kwds, pos);
#else
        key = __Pyx_PyTuple_GET_ITEM(kwds, pos);
#endif
#if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!key)) goto bad;
#endif
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            PyObject *value = kwvalues[pos];
            values[name-argnames] = __Pyx_NewRef(value);
        } else {
            size_t index_found = 0;
            int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
            if (cmp == 1) {
                PyObject *value = kwvalues[pos];
                values[index_found] = __Pyx_NewRef(value);
            } else {
                if (unlikely(cmp == -1)) goto bad;
                if (kwds2) {
                    PyObject *value = kwvalues[pos];
                    if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
                } else if (!ignore_unknown_kwargs) {
                    goto invalid_keyword;
                }
            }
        }
        #if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(key);
        key = NULL;
        #endif
    }
    return 0;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    goto bad;
bad:
    #if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(key);
    #endif
    return -1;
}

/* ParseKeywords */
static int __Pyx_ParseKeywords(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)))
        return __Pyx_ParseKeywordsTuple(kwds, kwvalues, argnames, kwds2, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
    else if (kwds2)
        return __Pyx_ParseKeywordDictToDict(kwds, argnames, kwds2, values, num_pos_args, function_name);
    else
        return __Pyx_ParseKeywordDict(kwds, argnames, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
}

/* RaiseArgTupleInvalid */
static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

/* PyObjectSetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_setattro))
        return tp->tp_setattro(obj, attr_name, value);
    return PyObject_SetAttr(obj, attr_name, value);
}
#endif

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a;
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla;
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return __Pyx_NewRef(op2);
    }
    const int is_positive = __Pyx_PyLong_IsPos(op1);
    const digit* digits = __Pyx_PyLong_Digits(op1);
    const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
    if (likely(size == 1)) {
        a = (long) digits[0];
        if (!is_positive) a *= -1;
    } else {
        switch (size) {
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
        }
        return PyLong_Type.tp_as_number->nb_add(op1, op2);
    }
    calculate_long:
        {
            long x;
            x = a + b;
            return PyLong_FromLong(x);
        }
    calculate_long_long:
        {
            PY_LONG_LONG llx;
            llx = lla + llb;
            return PyLong_FromLongLong(llx);
        }
    
}
#endif
static PyObject* __Pyx_Float___Pyx_PyLong_AddObjC(PyObject *float_val, long intval, int zerodivision_check) {
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    double a = __Pyx_PyFloat_AS_DOUBLE(float_val);
        double result;
        
        result = ((double)a) + (double)b;
        return PyFloat_FromDouble(result);
}
static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        return __Pyx_Float___Pyx_PyLong_AddObjC(op1, intval, zerodivision_check);
    }
    return __Pyx_Fallback___Pyx_PyLong_AddObjC(op1, op2, inplace);
}
#endif

/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (unlikely(!j)) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_SIZE
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS)) {
        return __Pyx_PyList_GetItemRefFast(o, wrapped_i, unsafe_shared);
    } else
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
        return __Pyx_NewRef(PyList_GET_ITEM(o, wrapped_i));
    }
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
#else
    (void)wraparound;
    (void)boundscheck;
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyTuple_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
        return __Pyx_NewRef(PyTuple_GET_ITEM(o, wrapped_i));
    }
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
#else
    (void)wraparound;
    (void)boundscheck;
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)) {
            return __Pyx_PyList_GetItemRefFast(o, n, unsafe_shared);
        } else if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            return __Pyx_NewRef(PyList_GET_ITEM(o, n));
        }
    } else
    #if !CYTHON_AVOID_BORROWED_REFS
    if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
            return __Pyx_NewRef(PyTuple_GET_ITEM(o, n));
        }
    } else
    #endif
#endif
#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
    {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (!is_list && mm && mm->mp_subscript) {
            PyObject *r, *key = PyLong_FromSsize_t(i);
            if (unlikely(!key)) return NULL;
            r = mm->mp_subscript(o, key);
            Py_DECREF(key);
            return r;
        }
        if (is_list || likely(sm && sm->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return sm->sq_item(o, i);
        }
    }
#else
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    (void)wraparound;
    (void)boundscheck;
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
}

/* PyObjectFastCallMethod */
#if !CYTHON_VECTORCALL || PY_VERSION_HEX < 0x03090000
static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *const *args, size_t nargsf) {
    PyObject *result;
    PyObject *attr = PyObject_GetAttr(args[0], name);
    if (unlikely(!attr))
        return NULL;
    result = __Pyx_PyObject_FastCall(attr, args+1, nargsf - 1);
    Py_DECREF(attr);
    return result;
}
#endif

/* SetItemInt */
static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
    int r;
    if (unlikely(!j)) return -1;
    r = PyObject_SetItem(o, j, v);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list,
                                               int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE && !CYTHON_AVOID_BORROWED_REFS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
        if ((CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS && !__Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared))) {
            Py_INCREF(v);
            return PyList_SetItem(o, n, v);
        } else if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) {
            PyObject* old;
            Py_INCREF(v);
            old = PyList_GET_ITEM(o, n);
            PyList_SET_ITEM(o, n, v);
            Py_DECREF(old);
            return 0;
        }
    } else
#endif
#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
    {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (!is_list && mm && mm->mp_ass_subscript) {
            int r;
            PyObject *key = PyLong_FromSsize_t(i);
            if (unlikely(!key)) return -1;
            r = mm->mp_ass_subscript(o, key, v);
            Py_DECREF(key);
            return r;
        }
        if (is_list || likely(sm && sm->sq_ass_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return -1;
                    PyErr_Clear();
                }
            }
            return sm->sq_ass_item(o, i, v);
        }
    }
#else
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_SetItem(o, i, v);
    }
#endif
    (void)wraparound;
    (void)boundscheck;
    return __Pyx_SetItemInt_Generic(o, PyLong_FromSsize_t(i), v);
}

/* ObjectGetItem */
#if CYTHON_USE_TYPE_SLOTS
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) {
    PyObject *runerr = NULL;
    Py_ssize_t key_value;
    key_value = __Pyx_PyIndex_AsSsize_t(index);
    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1, 1);
    }
    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
        __Pyx_TypeName index_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(index));
        PyErr_Clear();
        PyErr_Format(PyExc_IndexError,
            "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name);
        __Pyx_DECREF_TypeName(index_type_name);
    }
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
    __Pyx_TypeName obj_type_name;
    if (likely(PyType_Check(obj))) {
        PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_mstate_global->__pyx_n_u_class_getitem);
        if (!meth) {
            PyErr_Clear();
        } else {
            PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
            Py_DECREF(meth);
            return result;
        }
    }
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) {
    PyTypeObject *tp = Py_TYPE(obj);
    PyMappingMethods *mm = tp->tp_as_mapping;
    PySequenceMethods *sm = tp->tp_as_sequence;
    if (likely(mm && mm->mp_subscript)) {
        return mm->mp_subscript(obj, key);
    }
    if (likely(sm && sm->sq_item)) {
        return __Pyx_PyObject_GetIndex(obj, key);
    }
    return __Pyx_PyObject_GetItem_Slow(obj, key);
}
#endif

/* PyDictVersioning (used by GetModuleGlobalName) */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
    PyObject **dictptr = NULL;
    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
    if (offset) {
#if CYTHON_COMPILING_IN_CPYTHON
        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
#else
        dictptr = _PyObject_GetDictPtr(obj);
#endif
    }
    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
}
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
        return 0;
    return obj_dict_version == __Pyx_get_object_dict_version(obj);
}
#endif

/* GetModuleGlobalName */
#if CYTHON_USE_DICT_VERSIONS
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
#else
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
#endif
{
    PyObject *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(!__pyx_m)) {
        if (!PyErr_Occurred())
            PyErr_SetNone(PyExc_NameError);
        return NULL;
    }
    result = PyObject_GetAttr(__pyx_m, name);
    if (likely(result)) {
        return result;
    }
    PyErr_Clear();
#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    if (unlikely(__Pyx_PyDict_GetItemRef(__pyx_mstate_global->__pyx_d, name, &result) == -1)) PyErr_Clear();
    __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return result;
    }
#else
    result = _PyDict_GetItem_KnownHash(__pyx_mstate_global->__pyx_d, name, ((PyASCIIObject *) name)->hash);
    __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
    PyErr_Clear();
#endif
    return __Pyx_GetBuiltinName(name);
}

/* PyObjectVectorCallKwBuilder (used by PyObjectVectorCallMethodKwBuilder) */
#if CYTHON_VECTORCALL
static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    (void)__Pyx_PyObject_FastCallDict;
    if (__Pyx_PyTuple_SET_ITEM(builder, n, key) != (0)) return -1;
    Py_INCREF(key);
    args[n] = value;
    return 0;
}
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    (void)__Pyx_VectorcallBuilder_AddArgStr;
    if (unlikely(!PyUnicode_Check(key))) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        return -1;
    }
    return __Pyx_VectorcallBuilder_AddArg(key, value, builder, args, n);
}
static int __Pyx_VectorcallBuilder_AddArgStr(const char *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    PyObject *pyKey = PyUnicode_FromString(key);
    if (!pyKey) return -1;
    return __Pyx_VectorcallBuilder_AddArg(pyKey, value, builder, args, n);
}
#else // CYTHON_VECTORCALL
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, CYTHON_UNUSED PyObject **args, CYTHON_UNUSED int n) {
    if (unlikely(!PyUnicode_Check(key))) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        return -1;
    }
    return PyDict_SetItem(builder, key, value);
}
#endif

/* PyObjectVectorCallMethodKwBuilder */
#if !CYTHON_VECTORCALL || PY_VERSION_HEX < 0x03090000
static PyObject *__Pyx_Object_VectorcallMethod_CallFromBuilder(PyObject *name, PyObject *const *args, size_t nargsf, PyObject *kwnames) {
    PyObject *result;
    PyObject *obj = PyObject_GetAttr(args[0], name);
    if (unlikely(!obj))
        return NULL;
    result = __Pyx_Object_Vectorcall_CallFromBuilder(obj, args+1, nargsf-1, kwnames);
    Py_DECREF(obj);
    return result;
}
#endif

/* PyObjectLookupSpecial */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) {
    PyObject *res;
    PyTypeObject *tp = Py_TYPE(obj);
    res = _PyType_Lookup(tp, attr_name);
    if (likely(res)) {
        descrgetfunc f = Py_TYPE(res)->tp_descr_get;
        if (!f) {
            Py_INCREF(res);
        } else {
            res = f(res, obj, (PyObject *)tp);
        }
    } else if (with_error) {
        PyErr_SetObject(PyExc_AttributeError, attr_name);
    }
    return res;
}
#endif

/* GetTopmostException (used by SaveResetException) */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
           exc_info->previous_item != NULL)
    {
        exc_info = exc_info->previous_item;
    }
    return exc_info;
}
#endif

/* SaveResetException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    PyObject *exc_value = exc_info->exc_value;
    if (exc_value == NULL || exc_value == Py_None) {
        *value = NULL;
        *type = NULL;
        *tb = NULL;
    } else {
        *value = exc_value;
        Py_INCREF(*value);
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        *tb = PyException_GetTraceback(exc_value);
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #endif
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    PyObject *tmp_value = exc_info->exc_value;
    exc_info->exc_value = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
  #else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = type;
    exc_info->exc_value = value;
    exc_info->exc_traceback = tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
  #endif
}
#endif

/* GetException */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
#endif
{
    PyObject *local_type = NULL, *local_value, *local_tb = NULL;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if PY_VERSION_HEX >= 0x030C0000
    local_value = tstate->current_exception;
    tstate->current_exception = 0;
  #else
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
  #endif
#elif __PYX_LIMITED_VERSION_HEX > 0x030C0000
    local_value = PyErr_GetRaisedException();
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
#if __PYX_LIMITED_VERSION_HEX > 0x030C0000
    if (likely(local_value)) {
        local_type = (PyObject*) Py_TYPE(local_value);
        Py_INCREF(local_type);
        local_tb = PyException_GetTraceback(local_value);
    }
#else
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
#endif // __PYX_LIMITED_VERSION_HEX > 0x030C0000
    Py_XINCREF(local_tb);
    Py_XINCREF(local_type);
    Py_XINCREF(local_value);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
    #if CYTHON_USE_EXC_INFO_STACK
    {
        _PyErr_StackItem *exc_info = tstate->exc_info;
      #if PY_VERSION_HEX >= 0x030B00a4
        tmp_value = exc_info->exc_value;
        exc_info->exc_value = local_value;
        tmp_type = NULL;
        tmp_tb = NULL;
        Py_XDECREF(local_type);
        Py_XDECREF(local_tb);
      #else
        tmp_type = exc_info->exc_type;
        tmp_value = exc_info->exc_value;
        tmp_tb = exc_info->exc_traceback;
        exc_info->exc_type = local_type;
        exc_info->exc_value = local_value;
        exc_info->exc_traceback = local_tb;
      #endif
    }
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#elif __PYX_LIMITED_VERSION_HEX >= 0x030b0000
    PyErr_SetHandledException(local_value);
    Py_XDECREF(local_value);
    Py_XDECREF(local_type);
    Py_XDECREF(local_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
#if __PYX_LIMITED_VERSION_HEX <= 0x030C0000
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
#endif
}

/* KeywordStringCheck */
static int __Pyx_CheckKeywordStrings(
    const char* function_name,
    PyObject *kw)
{
#if CYTHON_COMPILING_IN_PYPY && !defined(PyArg_ValidateKeywordArguments)
    CYTHON_UNUSED_VAR(function_name);
    CYTHON_UNUSED_VAR(kw);
    return 0;
#else
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
#if PY_VERSION_HEX >= 0x03090000
        CYTHON_UNUSED_VAR(function_name);
#else
        Py_ssize_t kwsize;
        #if CYTHON_ASSUME_SAFE_SIZE
        kwsize = PyTuple_GET_SIZE(kw);
        #else
        kwsize = PyTuple_Size(kw);
        if (unlikely(kwsize < 0)) return -1;
        #endif
        for (Py_ssize_t pos = 0; pos < kwsize; pos++) {
            PyObject* key = NULL;
            #if CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kw, pos);
            #else
            key = PyTuple_GetItem(kw, pos);
            if (unlikely(!key)) return -1;
            #endif
            if (unlikely(!PyUnicode_Check(key))) {
                PyErr_Format(PyExc_TypeError,
                    "%.200s() keywords must be strings", function_name);
                return -1;
            }
        }
#endif
    } else {
        if (unlikely(!PyArg_ValidateKeywordArguments(kw))) return -1;
    }
    return 0;
#endif
}

/* DictGetItem */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
    PyObject *value;
    if (unlikely(__Pyx_PyDict_GetItemRef(d, key, &value) == 0)) { // no value, no error
        if (unlikely(PyTuple_Check(key))) {
            PyObject* args = PyTuple_Pack(1, key);
            if (likely(args)) {
                PyErr_SetObject(PyExc_KeyError, args);
                Py_DECREF(args);
            }
        } else {
            PyErr_SetObject(PyExc_KeyError, key);
        }
    }
    return value;
}
#endif

/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
        if (a == b)
            return 1;
    }
    return b == &PyBaseObject_Type;
}
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (a == b) return 1;
    mro = a->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(a, b);
}
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (cls == a || cls == b) return 1;
    mro = cls->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            PyObject *base = PyTuple_GET_ITEM(mro, i);
            if (base == (PyObject *)a || base == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
}
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    if (exc_type1) {
        return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
    } else {
        return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
}
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
    assert(PyExceptionClass_Check(exc_type1));
    assert(PyExceptionClass_Check(exc_type2));
    if (likely(err == exc_type1 || err == exc_type2)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
    }
    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
}
#endif

/* PyObjectFormat */
#if CYTHON_USE_UNICODE_WRITER
static PyObject* __Pyx_PyObject_Format(PyObject* obj, PyObject* format_spec) {
    int ret;
    _PyUnicodeWriter writer;
    if (likely(PyFloat_CheckExact(obj))) {
        _PyUnicodeWriter_Init(&writer);
        ret = _PyFloat_FormatAdvancedWriter(
            &writer,
            obj,
            format_spec, 0, PyUnicode_GET_LENGTH(format_spec));
    } else if (likely(PyLong_CheckExact(obj))) {
        _PyUnicodeWriter_Init(&writer);
        ret = _PyLong_FormatAdvancedWriter(
            &writer,
            obj,
            format_spec, 0, PyUnicode_GET_LENGTH(format_spec));
    } else {
        return PyObject_Format(obj, format_spec);
    }
    if (unlikely(ret == -1)) {
        _PyUnicodeWriter_Dealloc(&writer);
        return NULL;
    }
    return _PyUnicodeWriter_Finish(&writer);
}
#endif

/* JoinPyUnicode */
static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength,
                                      Py_UCS4 max_char) {
#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    PyObject *result_uval;
    int result_ukind, kind_shift;
    Py_ssize_t i, char_pos;
    void *result_udata;
    if (max_char > 1114111) max_char = 1114111;
    result_uval = PyUnicode_New(result_ulength, max_char);
    if (unlikely(!result_uval)) return NULL;
    result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND;
    kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1;
    result_udata = PyUnicode_DATA(result_uval);
    assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0);
    if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - result_ulength < 0))
        goto overflow;
    char_pos = 0;
    for (i=0; i < value_count; i++) {
        int ukind;
        Py_ssize_t ulength;
        void *udata;
        PyObject *uval = values[i];
        #if !CYTHON_COMPILING_IN_LIMITED_API
        if (__Pyx_PyUnicode_READY(uval) == (-1))
            goto bad;
        #endif
        ulength = __Pyx_PyUnicode_GET_LENGTH(uval);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(ulength < 0)) goto bad;
        #endif
        if (unlikely(!ulength))
            continue;
        if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos))
            goto overflow;
        ukind = __Pyx_PyUnicode_KIND(uval);
        udata = __Pyx_PyUnicode_DATA(uval);
        if (ukind == result_ukind) {
            memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift));
        } else {
            #if PY_VERSION_HEX >= 0x030d0000
            if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad;
            #elif CYTHON_COMPILING_IN_CPYTHON || defined(_PyUnicode_FastCopyCharacters)
            _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
            #else
            Py_ssize_t j;
            for (j=0; j < ulength; j++) {
                Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j);
                __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar);
            }
            #endif
        }
        char_pos += ulength;
    }
    return result_uval;
overflow:
    PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string");
bad:
    Py_DECREF(result_uval);
    return NULL;
#else
    Py_ssize_t i;
    PyObject *result = NULL;
    PyObject *value_tuple = PyTuple_New(value_count);
    if (unlikely(!value_tuple)) return NULL;
    CYTHON_UNUSED_VAR(max_char);
    CYTHON_UNUSED_VAR(result_ulength);
    for (i=0; i<value_count; i++) {
        if (__Pyx_PyTuple_SET_ITEM(value_tuple, i, values[i]) != (0)) goto bad;
        Py_INCREF(values[i]);
    }
    result = PyUnicode_Join(__pyx_mstate_global->__pyx_empty_unicode, value_tuple);
bad:
    Py_DECREF(value_tuple);
    return result;
#endif
}

/* RaiseException */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *instance_class = NULL;
        if (value && PyExceptionInstance_Check(value)) {
            instance_class = (PyObject*) Py_TYPE(value);
            if (instance_class != type) {
                int is_subclass = PyObject_IsSubclass(instance_class, type);
                if (!is_subclass) {
                    instance_class = NULL;
                } else if (unlikely(is_subclass == -1)) {
                    goto bad;
                } else {
                    type = instance_class;
                }
            }
        }
        if (!instance_class) {
            PyObject *args;
            if (!value)
                args = PyTuple_New(0);
            else if (PyTuple_Check(value)) {
                Py_INCREF(value);
                args = value;
            } else
                args = PyTuple_Pack(1, value);
            if (!args)
                goto bad;
            owned_instance = PyObject_Call(type, args, NULL);
            Py_DECREF(args);
            if (!owned_instance)
                goto bad;
            value = owned_instance;
            if (!PyExceptionInstance_Check(value)) {
                PyErr_Format(PyExc_TypeError,
                             "calling %R should have returned an instance of "
                             "BaseException, not %R",
                             type, Py_TYPE(value));
                goto bad;
            }
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause) {
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
#if PY_VERSION_HEX >= 0x030C00A6
        PyException_SetTraceback(value, tb);
#elif CYTHON_FAST_THREAD_STATE
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#else
        PyObject *tmp_type, *tmp_value, *tmp_tb;
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
        Py_INCREF(tb);
        PyErr_Restore(tmp_type, tmp_value, tb);
        Py_XDECREF(tmp_tb);
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}

/* SwapException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_value = exc_info->exc_value;
    exc_info->exc_value = *value;
    if (tmp_value == NULL || tmp_value == Py_None) {
        Py_XDECREF(tmp_value);
        tmp_value = NULL;
        tmp_type = NULL;
        tmp_tb = NULL;
    } else {
        tmp_type = (PyObject*) Py_TYPE(tmp_value);
        Py_INCREF(tmp_type);
        #if CYTHON_COMPILING_IN_CPYTHON
        tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
        Py_XINCREF(tmp_tb);
        #else
        tmp_tb = PyException_GetTraceback(tmp_value);
        #endif
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = *type;
    exc_info->exc_value = *value;
    exc_info->exc_traceback = *tb;
  #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = *type;
    tstate->exc_value = *value;
    tstate->exc_traceback = *tb;
  #endif
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
    PyErr_SetExcInfo(*type, *value, *tb);
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#endif

/* IterFinish (used by dict_iter) */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
    PyObject* exc_type;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    exc_type = __Pyx_PyErr_CurrentExceptionType();
    if (unlikely(exc_type)) {
        if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))
            return -1;
        __Pyx_PyErr_Clear();
        return 0;
    }
    return 0;
}

/* PyObjectCallNoArg (used by PyObjectCallMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
    PyObject *arg[2] = {NULL, NULL};
    return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectGetMethod (used by PyObjectCallMethod0) */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
    PyObject *attr;
#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
    __Pyx_TypeName type_name;
    PyTypeObject *tp = Py_TYPE(obj);
    PyObject *descr;
    descrgetfunc f = NULL;
    PyObject **dictptr, *dict;
    int meth_found = 0;
    assert (*method == NULL);
    if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
        attr = __Pyx_PyObject_GetAttrStr(obj, name);
        goto try_unpack;
    }
    if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
        return 0;
    }
    descr = _PyType_Lookup(tp, name);
    if (likely(descr != NULL)) {
        Py_INCREF(descr);
#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
        if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
#else
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
        #endif
#endif
        {
            meth_found = 1;
        } else {
            f = Py_TYPE(descr)->tp_descr_get;
            if (f != NULL && PyDescr_IsData(descr)) {
                attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
                Py_DECREF(descr);
                goto try_unpack;
            }
        }
    }
    dictptr = _PyObject_GetDictPtr(obj);
    if (dictptr != NULL && (dict = *dictptr) != NULL) {
        Py_INCREF(dict);
        attr = __Pyx_PyDict_GetItemStr(dict, name);
        if (attr != NULL) {
            Py_INCREF(attr);
            Py_DECREF(dict);
            Py_XDECREF(descr);
            goto try_unpack;
        }
        Py_DECREF(dict);
    }
    if (meth_found) {
        *method = descr;
        return 1;
    }
    if (f != NULL) {
        attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
        Py_DECREF(descr);
        goto try_unpack;
    }
    if (likely(descr != NULL)) {
        *method = descr;
        return 0;
    }
    type_name = __Pyx_PyType_GetFullyQualifiedName(tp);
    PyErr_Format(PyExc_AttributeError,
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
                 type_name, name);
    __Pyx_DECREF_TypeName(type_name);
    return 0;
#else
    attr = __Pyx_PyObject_GetAttrStr(obj, name);
    goto try_unpack;
#endif
try_unpack:
#if CYTHON_UNPACK_METHODS
    if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
        PyObject *function = PyMethod_GET_FUNCTION(attr);
        Py_INCREF(function);
        Py_DECREF(attr);
        *method = function;
        return 1;
    }
#endif
    *method = attr;
    return 0;
}
#endif

/* PyObjectCallMethod0 (used by dict_iter) */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
    PyObject *args[1] = {obj};
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_CallNoArg;
    return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result = NULL;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_CallOneArg(method, obj);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) goto bad;
    result = __Pyx_PyObject_CallNoArg(method);
    Py_DECREF(method);
bad:
    return result;
#endif
}

/* RaiseNeedMoreValuesToUnpack (used by UnpackTuple2) */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
    PyErr_Format(PyExc_ValueError,
                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
                 index, (index == 1) ? "" : "s");
}

/* RaiseTooManyValuesToUnpack (used by UnpackItemEndCheck) */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
    PyErr_Format(PyExc_ValueError,
                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
}

/* UnpackItemEndCheck (used by UnpackTuple2) */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    }
    return __Pyx_IterFinish();
}

/* RaiseNoneIterError (used by UnpackTupleError) */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
}

/* UnpackTupleError (used by UnpackTuple2) */
static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
    if (t == Py_None) {
      __Pyx_RaiseNoneNotIterableError();
    } else {
      Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(t);
 #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely(size < 0)) return;
 #endif
      if (size < index) {
        __Pyx_RaiseNeedMoreValuesError(size);
      } else {
        __Pyx_RaiseTooManyValuesError(index);
      }
    }
}

/* UnpackTuple2 (used by dict_iter) */
static CYTHON_INLINE int __Pyx_unpack_tuple2(
        PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple) {
    if (likely(is_tuple || PyTuple_Check(tuple))) {
        Py_ssize_t size;
        if (has_known_size) {
            return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple);
        }
        size = __Pyx_PyTuple_GET_SIZE(tuple);
        if (likely(size == 2)) {
            return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple);
        }
        if (size >= 0) {
            __Pyx_UnpackTupleError(tuple, 2);
        }
        return -1;
    } else {
        return __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple);
    }
}
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
        PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
    PyObject *value1 = NULL, *value2 = NULL;
#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
    value1 = __Pyx_PySequence_ITEM(tuple, 0);  if (unlikely(!value1)) goto bad;
    value2 = __Pyx_PySequence_ITEM(tuple, 1);  if (unlikely(!value2)) goto bad;
#else
    value1 = PyTuple_GET_ITEM(tuple, 0);  Py_INCREF(value1);
    value2 = PyTuple_GET_ITEM(tuple, 1);  Py_INCREF(value2);
#endif
    if (decref_tuple) {
        Py_DECREF(tuple);
    }
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
bad:
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
#endif
}
static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
                                       int has_known_size, int decref_tuple) {
    Py_ssize_t index;
    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
    iternextfunc iternext;
    iter = PyObject_GetIter(tuple);
    if (unlikely(!iter)) goto bad;
    if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
    iternext = __Pyx_PyObject_GetIterNextFunc(iter);
    value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
    value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
    if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
    Py_DECREF(iter);
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
unpacking_failed:
    if (!has_known_size && __Pyx_IterFinish() == 0)
        __Pyx_RaiseNeedMoreValuesError(index);
bad:
    Py_XDECREF(iter);
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
}

/* dict_iter */
#if CYTHON_COMPILING_IN_PYPY
#include <string.h>
#endif
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_source_is_dict) {
    is_dict = is_dict || likely(PyDict_CheckExact(iterable));
    *p_source_is_dict = is_dict;
    if (is_dict) {
#if !CYTHON_COMPILING_IN_PYPY
        *p_orig_length = PyDict_Size(iterable);
        Py_INCREF(iterable);
        return iterable;
#else
        static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
        PyObject **pp = NULL;
        if (method_name) {
            const char *name = PyUnicode_AsUTF8(method_name);
            if (strcmp(name, "iteritems") == 0) pp = &py_items;
            else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
            else if (strcmp(name, "itervalues") == 0) pp = &py_values;
            if (pp) {
                if (!*pp) {
                    *pp = PyUnicode_FromString(name + 4);
                    if (!*pp)
                        return NULL;
                }
                method_name = *pp;
            }
        }
#endif
    }
    *p_orig_length = 0;
    if (method_name) {
        PyObject* iter;
        iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
        if (!iterable)
            return NULL;
#if !CYTHON_COMPILING_IN_PYPY
        if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
            return iterable;
#endif
        iter = PyObject_GetIter(iterable);
        Py_DECREF(iterable);
        return iter;
    }
    return PyObject_GetIter(iterable);
}
#if !CYTHON_AVOID_BORROWED_REFS
static CYTHON_INLINE int __Pyx_dict_iter_next_source_is_dict(
        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
        PyObject** pkey, PyObject** pvalue, PyObject** pitem) {
    PyObject *key, *value;
    if (unlikely(orig_length != PyDict_Size(iter_obj))) {
        PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
        return -1;
    }
    if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
        return 0;
    }
    if (pitem) {
        PyObject* tuple = PyTuple_New(2);
        if (unlikely(!tuple)) {
            return -1;
        }
        Py_INCREF(key);
        Py_INCREF(value);
        #if CYTHON_ASSUME_SAFE_MACROS
        PyTuple_SET_ITEM(tuple, 0, key);
        PyTuple_SET_ITEM(tuple, 1, value);
        #else
        if (unlikely(PyTuple_SetItem(tuple, 0, key) < 0)) {
            Py_DECREF(value);
            Py_DECREF(tuple);
            return -1;
        }
        if (unlikely(PyTuple_SetItem(tuple, 1, value) < 0)) {
            Py_DECREF(tuple);
            return -1;
        }
        #endif
        *pitem = tuple;
    } else {
        if (pkey) {
            Py_INCREF(key);
            *pkey = key;
        }
        if (pvalue) {
            Py_INCREF(value);
            *pvalue = value;
        }
    }
    return 1;
}
#endif
static CYTHON_INLINE int __Pyx_dict_iter_next(
        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
        PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
    PyObject* next_item;
#if !CYTHON_AVOID_BORROWED_REFS
    if (source_is_dict) {
        int result;
#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_BEGIN_CRITICAL_SECTION(iter_obj);
#endif
        result = __Pyx_dict_iter_next_source_is_dict(iter_obj, orig_length, ppos, pkey, pvalue, pitem);
#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_END_CRITICAL_SECTION();
#endif
        return result;
    } else if (PyTuple_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        Py_ssize_t tuple_size = __Pyx_PyTuple_GET_SIZE(iter_obj);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(tuple_size < 0)) return -1;
        #endif
        if (unlikely(pos >= tuple_size)) return 0;
        *ppos = pos + 1;
        #if CYTHON_ASSUME_SAFE_MACROS
        next_item = PyTuple_GET_ITEM(iter_obj, pos);
        #else
        next_item = PyTuple_GetItem(iter_obj, pos);
        if (unlikely(!next_item)) return -1;
        #endif
        Py_INCREF(next_item);
    } else if (PyList_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        Py_ssize_t list_size = __Pyx_PyList_GET_SIZE(iter_obj);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(list_size < 0)) return -1;
        #endif
        if (unlikely(pos >= list_size)) return 0;
        *ppos = pos + 1;
        next_item = __Pyx_PyList_GetItemRef(iter_obj, pos);
        if (unlikely(!next_item)) return -1;
    } else
#endif
    {
        next_item = PyIter_Next(iter_obj);
        if (unlikely(!next_item)) {
            return __Pyx_IterFinish();
        }
    }
    if (pitem) {
        *pitem = next_item;
    } else if (pkey && pvalue) {
        if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
            return -1;
    } else if (pkey) {
        *pkey = next_item;
    } else {
        *pvalue = next_item;
    }
    return 1;
}

/* dict_setdefault (used by FetchCommonType) */
static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value) {
    PyObject* value;
#if __PYX_LIMITED_VERSION_HEX >= 0x030F0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4)
    PyDict_SetDefaultRef(d, key, default_value, &value);
#elif CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    PyObject *args[] = {d, key, default_value};
    value = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_n_u_setdefault, args, 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#elif CYTHON_COMPILING_IN_LIMITED_API
    value = PyObject_CallMethodObjArgs(d, __pyx_mstate_global->__pyx_n_u_setdefault, key, default_value, NULL);
#else
    value = PyDict_SetDefault(d, key, default_value);
    if (unlikely(!value)) return NULL;
    Py_INCREF(value);
#endif
    return value;
}

/* LimitedApiGetTypeDict (used by SetItemOnTypeDict) */
#if CYTHON_COMPILING_IN_LIMITED_API
static Py_ssize_t __Pyx_GetTypeDictOffset(void) {
    PyObject *tp_dictoffset_o;
    Py_ssize_t tp_dictoffset;
    tp_dictoffset_o = PyObject_GetAttrString((PyObject*)(&PyType_Type), "__dictoffset__");
    if (unlikely(!tp_dictoffset_o)) return -1;
    tp_dictoffset = PyLong_AsSsize_t(tp_dictoffset_o);
    Py_DECREF(tp_dictoffset_o);
    if (unlikely(tp_dictoffset == 0)) {
        PyErr_SetString(
            PyExc_TypeError,
            "'type' doesn't have a dictoffset");
        return -1;
    } else if (unlikely(tp_dictoffset < 0)) {
        PyErr_SetString(
            PyExc_TypeError,
            "'type' has an unexpected negative dictoffset. "
            "Please report this as Cython bug");
        return -1;
    }
    return tp_dictoffset;
}
static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp) {
    static Py_ssize_t tp_dictoffset = 0;
    if (unlikely(tp_dictoffset == 0)) {
        tp_dictoffset = __Pyx_GetTypeDictOffset();
        if (unlikely(tp_dictoffset == -1 && PyErr_Occurred())) {
            tp_dictoffset = 0; // try again next time?
            return NULL;
        }
    }
    return *(PyObject**)((char*)tp + tp_dictoffset);
}
#endif

/* SetItemOnTypeDict (used by FixUpExtensionType) */
static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v) {
    int result;
    PyObject *tp_dict;
#if CYTHON_COMPILING_IN_LIMITED_API
    tp_dict = __Pyx_GetTypeDict(tp);
    if (unlikely(!tp_dict)) return -1;
#else
    tp_dict = tp->tp_dict;
#endif
    result = PyDict_SetItem(tp_dict, k, v);
    if (likely(!result)) {
        PyType_Modified(tp);
        if (unlikely(PyObject_HasAttr(v, __pyx_mstate_global->__pyx_n_u_set_name))) {
            PyObject *setNameResult = PyObject_CallMethodObjArgs(v, __pyx_mstate_global->__pyx_n_u_set_name,  (PyObject *) tp, k, NULL);
            if (!setNameResult) return -1;
            Py_DECREF(setNameResult);
        }
    }
    return result;
}

/* FixUpExtensionType (used by FetchCommonType) */
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
#if __PYX_LIMITED_VERSION_HEX > 0x030900B1
    CYTHON_UNUSED_VAR(spec);
    CYTHON_UNUSED_VAR(type);
    CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
#else
    const PyType_Slot *slot = spec->slots;
    int changed = 0;
#if !CYTHON_COMPILING_IN_LIMITED_API
    while (slot && slot->slot && slot->slot != Py_tp_members)
        slot++;
    if (slot && slot->slot == Py_tp_members) {
#if !CYTHON_COMPILING_IN_CPYTHON
        const
#endif  // !CYTHON_COMPILING_IN_CPYTHON)
            PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
        while (memb && memb->name) {
            if (memb->name[0] == '_' && memb->name[1] == '_') {
                if (strcmp(memb->name, "__weaklistoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_weaklistoffset = memb->offset;
                    changed = 1;
                }
                else if (strcmp(memb->name, "__dictoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_dictoffset = memb->offset;
                    changed = 1;
                }
#if CYTHON_METH_FASTCALL
                else if (strcmp(memb->name, "__vectorcalloffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_vectorcall_offset = memb->offset;
                    changed = 1;
                }
#endif  // CYTHON_METH_FASTCALL
#if !CYTHON_COMPILING_IN_PYPY
                else if (strcmp(memb->name, "__module__") == 0) {
                    PyObject *descr;
                    assert(memb->type == T_OBJECT);
                    assert(memb->flags == 0 || memb->flags == READONLY);
                    descr = PyDescr_NewMember(type, memb);
                    if (unlikely(!descr))
                        return -1;
                    int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
                    Py_DECREF(descr);
                    if (unlikely(set_item_result < 0)) {
                        return -1;
                    }
                    changed = 1;
                }
#endif  // !CYTHON_COMPILING_IN_PYPY
            }
            memb++;
        }
    }
#endif  // !CYTHON_COMPILING_IN_LIMITED_API
#if !CYTHON_COMPILING_IN_PYPY
    slot = spec->slots;
    while (slot && slot->slot && slot->slot != Py_tp_getset)
        slot++;
    if (slot && slot->slot == Py_tp_getset) {
        PyGetSetDef *getset = (PyGetSetDef*) slot->pfunc;
        while (getset && getset->name) {
            if (getset->name[0] == '_' && getset->name[1] == '_' && strcmp(getset->name, "__module__") == 0) {
                PyObject *descr = PyDescr_NewGetSet(type, getset);
                if (unlikely(!descr))
                    return -1;
                #if CYTHON_COMPILING_IN_LIMITED_API
                PyObject *pyname = PyUnicode_FromString(getset->name);
                if (unlikely(!pyname)) {
                    Py_DECREF(descr);
                    return -1;
                }
                int set_item_result = __Pyx_SetItemOnTypeDict(type, pyname, descr);
                Py_DECREF(pyname);
                #else
                CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
                int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
                #endif
                Py_DECREF(descr);
                if (unlikely(set_item_result < 0)) {
                    return -1;
                }
                changed = 1;
            }
            ++getset;
        }
    }
#else
    CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
#endif  // !CYTHON_COMPILING_IN_PYPY
    if (changed)
        PyType_Modified(type);
#endif  // PY_VERSION_HEX > 0x030900B1
    return 0;
}

/* AddModuleRef (used by FetchSharedCythonModule) */
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  static PyObject *__Pyx_PyImport_AddModuleObjectRef(PyObject *name) {
      PyObject *module_dict = PyImport_GetModuleDict();
      PyObject *m;
      if (PyMapping_GetOptionalItem(module_dict, name, &m) < 0) {
          return NULL;
      }
      if (m != NULL && PyModule_Check(m)) {
          return m;
      }
      Py_XDECREF(m);
      m = PyModule_NewObject(name);
      if (m == NULL)
          return NULL;
      if (PyDict_CheckExact(module_dict)) {
          PyObject *new_m;
          (void)PyDict_SetDefaultRef(module_dict, name, m, &new_m);
          Py_DECREF(m);
          return new_m;
      } else {
           if (PyObject_SetItem(module_dict, name, m) != 0) {
                Py_DECREF(m);
                return NULL;
            }
            return m;
      }
  }
  static PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
      PyObject *py_name = PyUnicode_FromString(name);
      if (!py_name) return NULL;
      PyObject *module = __Pyx_PyImport_AddModuleObjectRef(py_name);
      Py_DECREF(py_name);
      return module;
  }
#elif __PYX_LIMITED_VERSION_HEX >= 0x030d0000
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#else
  static PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
      PyObject *module = PyImport_AddModule(name);
      Py_XINCREF(module);
      return module;
  }
#endif

/* FetchSharedCythonModule (used by FetchCommonType) */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
    return __Pyx_PyImport_AddModuleRef(__PYX_ABI_MODULE_NAME);
}

/* FetchCommonType (used by CommonTypesMetaclass) */
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
static PyObject* __Pyx_PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *result = __Pyx_PyType_FromModuleAndSpec(module, spec, bases);
    if (result && metaclass) {
        PyObject *old_tp = (PyObject*)Py_TYPE(result);
    Py_INCREF((PyObject*)metaclass);
#if __PYX_LIMITED_VERSION_HEX >= 0x03090000
        Py_SET_TYPE(result, metaclass);
#else
        result->ob_type = metaclass;
#endif
        Py_DECREF(old_tp);
    }
    return result;
}
#else
#define __Pyx_PyType_FromMetaclass(me, mo, s, b) PyType_FromMetaclass(me, mo, s, b)
#endif
static int __Pyx_VerifyCachedType(PyObject *cached_type,
                               const char *name,
                               Py_ssize_t expected_basicsize) {
    Py_ssize_t basicsize;
    if (!PyType_Check(cached_type)) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s is not a type object", name);
        return -1;
    }
    if (expected_basicsize == 0) {
        return 0; // size is inherited, nothing useful to check
    }
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_basicsize;
    py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
    if (unlikely(!py_basicsize)) return -1;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = NULL;
    if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) return -1;
#else
    basicsize = ((PyTypeObject*) cached_type)->tp_basicsize;
#endif
    if (basicsize != expected_basicsize) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s has the wrong size, try recompiling",
            name);
        return -1;
    }
    return 0;
}
static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *abi_module = NULL, *cached_type = NULL, *abi_module_dict, *new_cached_type, *py_object_name;
    int get_item_ref_result;
    const char* object_name = strrchr(spec->name, '.');
    object_name = object_name ? object_name+1 : spec->name;
    py_object_name = PyUnicode_FromString(object_name);
    if (!py_object_name) return NULL;
    abi_module = __Pyx_FetchSharedCythonABIModule();
    if (!abi_module) goto done;
    abi_module_dict = PyModule_GetDict(abi_module);
    if (!abi_module_dict) goto done;
    get_item_ref_result = __Pyx_PyDict_GetItemRef(abi_module_dict, py_object_name, &cached_type);
    if (get_item_ref_result == 1) {
        if (__Pyx_VerifyCachedType(
              cached_type,
              object_name,
              spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    } else if (unlikely(get_item_ref_result == -1)) {
        goto bad;
    }
    cached_type = __Pyx_PyType_FromMetaclass(
        metaclass,
        CYTHON_USE_MODULE_STATE ? module : abi_module,
        spec, bases);
    if (unlikely(!cached_type)) goto bad;
    if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
    new_cached_type = __Pyx_PyDict_SetDefault(abi_module_dict, py_object_name, cached_type);
    if (unlikely(new_cached_type != cached_type)) {
        if (unlikely(!new_cached_type)) goto bad;
        Py_DECREF(cached_type);
        cached_type = new_cached_type;
        if (__Pyx_VerifyCachedType(
                cached_type,
                object_name,
                spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    } else {
        Py_DECREF(new_cached_type);
    }
done:
    Py_XDECREF(abi_module);
    Py_DECREF(py_object_name);
    assert(cached_type == NULL || PyType_Check(cached_type));
    return (PyTypeObject *) cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}

/* CommonTypesMetaclass (used by CythonFunctionShared) */
static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
    return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
}
#if __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject* __pyx_CommonTypesMetaclass_call(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *args, CYTHON_UNUSED PyObject *kwds) {
    PyErr_SetString(PyExc_TypeError, "Cannot instantiate Cython internal types");
    return NULL;
}
static int __pyx_CommonTypesMetaclass_setattr(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *attr, CYTHON_UNUSED PyObject *value) {
    PyErr_SetString(PyExc_TypeError, "Cython internal types are immutable");
    return -1;
}
#endif
static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
    {"__module__", __pyx_CommonTypesMetaclass_get_module, NULL, NULL, NULL},
    {0, 0, 0, 0, 0}
};
static PyType_Slot __pyx_CommonTypesMetaclass_slots[] = {
    {Py_tp_getset, (void *)__pyx_CommonTypesMetaclass_getset},
    #if __PYX_LIMITED_VERSION_HEX < 0x030A0000
    {Py_tp_call, (void*)__pyx_CommonTypesMetaclass_call},
    {Py_tp_new, (void*)__pyx_CommonTypesMetaclass_call},
    {Py_tp_setattro, (void*)__pyx_CommonTypesMetaclass_setattr},
    #endif
    {0, 0}
};
static PyType_Spec __pyx_CommonTypesMetaclass_spec = {
    __PYX_TYPE_MODULE_PREFIX "_common_types_metatype",
    0,
    0,
    Py_TPFLAGS_IMMUTABLETYPE |
    Py_TPFLAGS_DISALLOW_INSTANTIATION |
    Py_TPFLAGS_DEFAULT,
    __pyx_CommonTypesMetaclass_slots
};
static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    PyObject *bases = PyTuple_Pack(1, &PyType_Type);
    if (unlikely(!bases)) {
        return -1;
    }
    mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
    Py_DECREF(bases);
    if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
        return -1;
    }
    return 0;
}

/* CallTypeTraverse (used by CythonFunctionShared) */
#if !CYTHON_USE_TYPE_SPECS || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x03090000)
#else
static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg) {
    #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x03090000
    if (__Pyx_get_runtime_version() < 0x03090000) return 0;
    #endif
    if (!always_call) {
        PyTypeObject *base = __Pyx_PyObject_GetSlot(o, tp_base, PyTypeObject*);
        unsigned long flags = PyType_GetFlags(base);
        if (flags & Py_TPFLAGS_HEAPTYPE) {
            return 0;
        }
    }
    Py_VISIT((PyObject*)Py_TYPE(o));
    return 0;
}
#endif

/* PyMethodNew (used by CythonFunctionShared) */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    PyObject *result;
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    #if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    {
        PyObject *args[] = {func, self};
        result = PyObject_Vectorcall(__pyx_mstate_global->__Pyx_CachedMethodType, args, 2, NULL);
    }
    #else
    result = PyObject_CallFunctionObjArgs(__pyx_mstate_global->__Pyx_CachedMethodType, func, self, NULL);
    #endif
    return result;
}
#else
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    return PyMethod_New(func, self);
}
#endif

/* PyVectorcallFastCallDict (used by CythonFunctionShared) */
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    PyObject *res = NULL;
    PyObject *kwnames;
    PyObject **newargs;
    PyObject **kwvalues;
    Py_ssize_t i;
    #if CYTHON_AVOID_BORROWED_REFS
    PyObject *pos;
    #else
    Py_ssize_t pos;
    #endif
    size_t j;
    PyObject *key, *value;
    unsigned long keys_are_strings;
    #if !CYTHON_ASSUME_SAFE_SIZE
    Py_ssize_t nkw = PyDict_Size(kw);
    if (unlikely(nkw == -1)) return NULL;
    #else
    Py_ssize_t nkw = PyDict_GET_SIZE(kw);
    #endif
    newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
    if (unlikely(newargs == NULL)) {
        PyErr_NoMemory();
        return NULL;
    }
    for (j = 0; j < nargs; j++) newargs[j] = args[j];
    kwnames = PyTuple_New(nkw);
    if (unlikely(kwnames == NULL)) {
        PyMem_Free(newargs);
        return NULL;
    }
    kwvalues = newargs + nargs;
    pos = 0;
    i = 0;
    keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
    while (__Pyx_PyDict_NextRef(kw, &pos, &key, &value)) {
        keys_are_strings &=
        #if CYTHON_COMPILING_IN_LIMITED_API
            PyType_GetFlags(Py_TYPE(key));
        #else
            Py_TYPE(key)->tp_flags;
        #endif
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(PyTuple_SetItem(kwnames, i, key) < 0)) goto cleanup;
        #else
        PyTuple_SET_ITEM(kwnames, i, key);
        #endif
        kwvalues[i] = value;
        i++;
    }
    if (unlikely(!keys_are_strings)) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        goto cleanup;
    }
    res = vc(func, newargs, nargs, kwnames);
cleanup:
    #if CYTHON_AVOID_BORROWED_REFS
    Py_DECREF(pos);
    #endif
    Py_DECREF(kwnames);
    for (i = 0; i < nkw; i++)
        Py_DECREF(kwvalues[i]);
    PyMem_Free(newargs);
    return res;
}
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    Py_ssize_t kw_size =
        likely(kw == NULL) ?
        0 :
#if !CYTHON_ASSUME_SAFE_SIZE
        PyDict_Size(kw);
#else
        PyDict_GET_SIZE(kw);
#endif
    if (kw_size == 0) {
        return vc(func, args, nargs, NULL);
    }
#if !CYTHON_ASSUME_SAFE_SIZE
    else if (unlikely(kw_size == -1)) {
        return NULL;
    }
#endif
    return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
}
#endif

/* CythonFunctionShared (used by CythonFunction) */
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunctionNoMethod(PyObject *func, void (*cfunc)(void)) {
    if (__Pyx_CyFunction_Check(func)) {
        return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
    } else if (PyCFunction_Check(func)) {
        return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) {
    if ((PyObject*)Py_TYPE(func) == __pyx_mstate_global->__Pyx_CachedMethodType) {
        int result;
        PyObject *newFunc = PyObject_GetAttr(func, __pyx_mstate_global->__pyx_n_u_func);
        if (unlikely(!newFunc)) {
            PyErr_Clear(); // It's only an optimization, so don't throw an error
            return 0;
        }
        result = __Pyx__IsSameCyOrCFunctionNoMethod(newFunc, cfunc);
        Py_DECREF(newFunc);
        return result;
    }
    return __Pyx__IsSameCyOrCFunctionNoMethod(func, cfunc);
}
#else
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) {
    if (PyMethod_Check(func)) {
        func = PyMethod_GET_FUNCTION(func);
    }
    return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
}
#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    __Pyx_Py_XDECREF_SET(
        __Pyx_CyFunction_GetClassObj(f),
            ((classobj) ? __Pyx_NewRef(classobj) : NULL));
#else
    __Pyx_Py_XDECREF_SET(
        ((PyCMethodObject *) (f))->mm_class,
        (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
#endif
}
static PyObject *
__Pyx_CyFunction_get_doc_locked(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_doc == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
        if (unlikely(!op->func_doc)) return NULL;
#else
        if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
            op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
#endif
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) {
    PyObject *result;
    CYTHON_UNUSED_VAR(closure);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_doc_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_doc, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name_locked(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_name == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_name = PyObject_GetAttrString(op->func, "__name__");
#else
        op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#endif
        if (unlikely(op->func_name == NULL))
            return NULL;
    }
    Py_INCREF(op->func_name);
    return op->func_name;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
    PyObject *result = NULL;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_name_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_name, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    PyObject *result;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    Py_INCREF(op->func_qualname);
    result = op->func_qualname;
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_qualname, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(op->func_dict == NULL)) {
        op->func_dict = PyDict_New();
        if (unlikely(op->func_dict == NULL))
            return NULL;
    }
    Py_INCREF(op->func_dict);
    return op->func_dict;
}
#endif
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(op);
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
    int result = 0;
    PyObject *res = op->defaults_getter((PyObject *) op);
    if (unlikely(!res))
        return -1;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
    Py_INCREF(op->defaults_tuple);
    op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
    Py_INCREF(op->defaults_kwdict);
    #else
    op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
        if (unlikely(!op->defaults_kwdict)) result = -1;
    }
    #endif
    Py_DECREF(res);
    return result;
}
static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_tuple;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_tuple;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = NULL;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_defaults_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_kwdict;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_kwdict;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_kwdefaults_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value || value == Py_None) {
        value = NULL;
    } else if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_annotations, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->func_annotations;
    if (unlikely(!result)) {
        result = PyDict_New();
        if (unlikely(!result)) return NULL;
        op->func_annotations = result;
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
    PyObject *result;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_annotations_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine_value(__pyx_CyFunctionObject *op) {
    int is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
    if (is_coroutine) {
        PyObject *is_coroutine_value, *module, *fromlist, *marker = __pyx_mstate_global->__pyx_n_u_is_coroutine;
        fromlist = PyList_New(1);
        if (unlikely(!fromlist)) return NULL;
        Py_INCREF(marker);
#if CYTHON_ASSUME_SAFE_MACROS
        PyList_SET_ITEM(fromlist, 0, marker);
#else
        if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
            Py_DECREF(marker);
            Py_DECREF(fromlist);
            return NULL;
        }
#endif
        module = PyImport_ImportModuleLevelObject(__pyx_mstate_global->__pyx_n_u_asyncio_coroutines, NULL, NULL, fromlist, 0);
        Py_DECREF(fromlist);
        if (unlikely(!module)) goto ignore;
        is_coroutine_value = __Pyx_PyObject_GetAttrStr(module, marker);
        Py_DECREF(module);
        if (likely(is_coroutine_value)) {
            return is_coroutine_value;
        }
ignore:
        PyErr_Clear();
    }
    return __Pyx_PyBool_FromLong(is_coroutine);
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
    PyObject *result;
    CYTHON_UNUSED_VAR(context);
    if (op->func_is_coroutine) {
        return __Pyx_NewRef(op->func_is_coroutine);
    }
    result = __Pyx_CyFunction_get_is_coroutine_value(op);
    if (unlikely(!result))
        return NULL;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    if (op->func_is_coroutine) {
        Py_DECREF(result);
        result = __Pyx_NewRef(op->func_is_coroutine);
    } else {
        op->func_is_coroutine = __Pyx_NewRef(result);
    }
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static void __Pyx_CyFunction_raise_argument_count_error(__pyx_CyFunctionObject *func, const char* message, Py_ssize_t size) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
    if (!py_name) return;
    PyErr_Format(PyExc_TypeError,
        "%.200S() %s (%" CYTHON_FORMAT_SSIZE_T "d given)",
        py_name, message, size);
    Py_DECREF(py_name);
#else
    const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
    PyErr_Format(PyExc_TypeError,
        "%.200s() %s (%" CYTHON_FORMAT_SSIZE_T "d given)",
        name, message, size);
#endif
}
static void __Pyx_CyFunction_raise_type_error(__pyx_CyFunctionObject *func, const char* message) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
    if (!py_name) return;
    PyErr_Format(PyExc_TypeError,
        "%.200S() %s",
        py_name, message);
    Py_DECREF(py_name);
#else
    const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
    PyErr_Format(PyExc_TypeError,
        "%.200s() %s",
        name, message);
#endif
}
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *
__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_GetAttrString(op->func, "__module__");
}
static int
__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_SetAttrString(op->func, "__module__", value);
}
#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
    {"func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {"__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {"func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {"__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {"__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
    {"func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0},
    {"__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0},
#else
    {"func_dict", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0},
    {"__dict__", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0},
#endif
    {"func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {"__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {"func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {"__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {"func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {"__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {"func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {"__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {"__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
    {"__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
    {"_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
#endif
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
#if !CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    {"__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#endif
#if CYTHON_METH_FASTCALL
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
    {"__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
    {"__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
#endif
#endif
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
{
    PyObject *result = NULL;
    CYTHON_UNUSED_VAR(args);
    __Pyx_BEGIN_CRITICAL_SECTION(m);
    Py_INCREF(m->func_qualname);
    result = m->func_qualname;
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static PyMethodDef __pyx_CyFunction_methods[] = {
    {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
    {0, 0, 0, 0}
};
#if CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
#if !CYTHON_COMPILING_IN_LIMITED_API
    PyCFunctionObject *cf = (PyCFunctionObject*) op;
#endif
    if (unlikely(op == NULL))
        return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
    if (unlikely(!op->func)) return NULL;
#endif
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
#if !CYTHON_COMPILING_IN_LIMITED_API
    cf->m_ml = ml;
    cf->m_self = (PyObject *) op;
#endif
    Py_XINCREF(closure);
    op->func_closure = closure;
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_XINCREF(module);
    cf->m_module = module;
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    op->func_dict = NULL;
#endif
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    op->func_classobj = NULL;
#else
    ((PyCMethodObject*)op)->mm_class = NULL;
#endif
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    op->func_is_coroutine = NULL;
#if CYTHON_METH_FASTCALL
    switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
    case METH_NOARGS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
        break;
    case METH_O:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
        break;
    case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
        break;
    case METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
        break;
    case METH_VARARGS | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = NULL;
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        Py_DECREF(op);
        return NULL;
    }
#endif
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_CLEAR(m->func);
#else
    Py_CLEAR(((PyCFunctionObject*)m)->m_module);
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    Py_CLEAR(m->func_dict);
#elif PY_VERSION_HEX < 0x030d0000
    _PyObject_ClearManagedDict((PyObject*)m);
#else
    PyObject_ClearManagedDict((PyObject*)m);
#endif
    Py_CLEAR(m->func_name);
    Py_CLEAR(m->func_qualname);
    Py_CLEAR(m->func_doc);
    Py_CLEAR(m->func_globals);
    Py_CLEAR(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
    Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
    {
        PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
        ((PyCMethodObject *) (m))->mm_class = NULL;
        Py_XDECREF(cls);
    }
#endif
#endif
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    Py_CLEAR(m->func_is_coroutine);
    Py_CLEAR(m->defaults);
    return 0;
}
static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    if (__Pyx_CyFunction_weakreflist(m) != NULL)
        PyObject_ClearWeakRefs((PyObject *) m);
    __Pyx_CyFunction_clear(m);
    __Pyx_PyHeapTypeObject_GC_Del(m);
}
static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    PyObject_GC_UnTrack(m);
    __Pyx__CyFunction_dealloc(m);
}
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
    {
        int e = __Pyx_call_type_traverse((PyObject*)m, 1, visit, arg);
        if (e) return e;
    }
    Py_VISIT(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(m->func);
#else
    Py_VISIT(((PyCFunctionObject*)m)->m_module);
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(m->func_dict);
#else
    {
        int e =
#if PY_VERSION_HEX < 0x030d0000
            _PyObject_VisitManagedDict
#else
            PyObject_VisitManagedDict
#endif
                ((PyObject*)m, visit, arg);
        if (e != 0) return e;
    }
#endif
    __Pyx_VISIT_CONST(m->func_name);
    __Pyx_VISIT_CONST(m->func_qualname);
    Py_VISIT(m->func_doc);
    Py_VISIT(m->func_globals);
    __Pyx_VISIT_CONST(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
#endif
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    Py_VISIT(m->func_is_coroutine);
    Py_VISIT(m->defaults);
    return 0;
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
    PyObject *repr;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    repr = PyUnicode_FromFormat("<cyfunction %U at %p>",
                                op->func_qualname, (void *)op);
    __Pyx_END_CRITICAL_SECTION();
    return repr;
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
    PyCFunction meth;
    int flags;
    meth = PyCFunction_GetFunction(f);
    if (unlikely(!meth)) return NULL;
    flags = PyCFunction_GetFlags(f);
    if (unlikely(flags < 0)) return NULL;
#else
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    int flags = f->m_ml->ml_flags;
#endif
    Py_ssize_t size;
    switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
    case METH_VARARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0))
            return (*meth)(self, arg);
        break;
    case METH_VARARGS | METH_KEYWORDS:
        return (*(PyCFunctionWithKeywords)(void(*)(void))meth)(self, arg, kw);
    case METH_NOARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_SIZE
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 0))
                return (*meth)(self, NULL);
            __Pyx_CyFunction_raise_argument_count_error(
                (__pyx_CyFunctionObject*)func,
                "takes no arguments", size);
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_SIZE
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 1)) {
                PyObject *result, *arg0;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                arg0 = PyTuple_GET_ITEM(arg, 0);
                #else
                arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
                #endif
                result = (*meth)(self, arg0);
                #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
                Py_DECREF(arg0);
                #endif
                return result;
            }
            __Pyx_CyFunction_raise_argument_count_error(
                (__pyx_CyFunctionObject*)func,
                "takes exactly one argument", size);
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        return NULL;
    }
    __Pyx_CyFunction_raise_type_error(
        (__pyx_CyFunctionObject*)func, "takes no keyword arguments");
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *self, *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
    if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
    self = ((PyCFunctionObject*)func)->m_self;
#endif
    result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
    return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
     __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
    if (vc) {
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
        return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
#else
        (void) &__Pyx_PyVectorcall_FastCallDict;
        return PyVectorcall_Call(func, args, kw);
#endif
    }
#endif
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
#if CYTHON_ASSUME_SAFE_SIZE
        argc = PyTuple_GET_SIZE(args);
#else
        argc = PyTuple_Size(args);
        if (unlikely(argc < 0)) return NULL;
#endif
        new_args = PyTuple_GetSlice(args, 1, argc);
        if (unlikely(!new_args))
            return NULL;
        self = PyTuple_GetItem(args, 0);
        if (unlikely(!self)) {
            Py_DECREF(new_args);
            PyErr_Format(PyExc_TypeError,
                         "unbound method %.200S() needs an argument",
                         cyfunc->func_qualname);
            return NULL;
        }
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
        Py_DECREF(new_args);
    } else {
        result = __Pyx_CyFunction_Call(func, args, kw);
    }
    return result;
}
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
{
    int ret = 0;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        if (unlikely(nargs < 1)) {
            __Pyx_CyFunction_raise_type_error(
                cyfunc, "needs an argument");
            return -1;
        }
        ret = 1;
    }
    if (unlikely(kwnames) && unlikely(__Pyx_PyTuple_GET_SIZE(kwnames))) {
        __Pyx_CyFunction_raise_type_error(
            cyfunc, "takes no keyword arguments");
        return -1;
    }
    return ret;
}
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 0)) {
        __Pyx_CyFunction_raise_argument_count_error(
            cyfunc, "takes no arguments", nargs);
        return NULL;
    }
    return meth(self, NULL);
}
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 1)) {
        __Pyx_CyFunction_raise_argument_count_error(
            cyfunc, "takes exactly one argument", nargs);
        return NULL;
    }
    return meth(self, args[0]);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))meth)(self, args, nargs, kwnames);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    #if PY_VERSION_HEX < 0x030e00A6
    size_t nargs_value = (size_t) nargs;
    #else
    Py_ssize_t nargs_value = nargs;
    #endif
    return ((__Pyx_PyCMethod)(void(*)(void))meth)(self, cls, args, nargs_value, kwnames);
}
#endif
static PyType_Slot __pyx_CyFunctionType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
    {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
    {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
    {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
    {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
    {Py_tp_methods, (void *)__pyx_CyFunction_methods},
    {Py_tp_members, (void *)__pyx_CyFunction_members},
    {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
    {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
    {0, 0},
};
static PyType_Spec __pyx_CyFunctionType_spec = {
    __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
    Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
#if CYTHON_METH_FASTCALL
#if defined(Py_TPFLAGS_HAVE_VECTORCALL)
    Py_TPFLAGS_HAVE_VECTORCALL |
#elif defined(_Py_TPFLAGS_HAVE_VECTORCALL)
    _Py_TPFLAGS_HAVE_VECTORCALL |
#endif
#endif // CYTHON_METH_FASTCALL
#if PY_VERSION_HEX >= 0x030C0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_TPFLAGS_MANAGED_DICT |
#endif
    Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION |
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    __pyx_CyFunctionType_slots
};
static int __pyx_CyFunction_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    mstate->__pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(
        mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_CyFunctionType_spec, NULL);
    if (unlikely(mstate->__pyx_CyFunctionType == NULL)) {
        return -1;
    }
    return 0;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func, PyTypeObject *defaults_type) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults = PyObject_CallObject((PyObject*)defaults_type, NULL); // _PyObject_New(defaults_type);
    if (unlikely(!m->defaults))
        return NULL;
    return m->defaults;
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_tuple = tuple;
    Py_INCREF(tuple);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_kwdict = dict;
    Py_INCREF(dict);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->func_annotations = dict;
    Py_INCREF(dict);
}

/* CythonFunction */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
                                      PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    PyObject *op = __Pyx_CyFunction_Init(
        PyObject_GC_New(__pyx_CyFunctionObject, __pyx_mstate_global->__pyx_CyFunctionType),
        ml, flags, qualname, closure, module, globals, code
    );
    if (likely(op)) {
        PyObject_GC_Track(op);
    }
    return op;
}

/* SliceObject */
static CYTHON_INLINE int __Pyx_PyObject_SetSlice(PyObject* obj, PyObject* value,
        Py_ssize_t cstart, Py_ssize_t cstop,
        PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
        int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
    __Pyx_TypeName obj_type_name;
#if CYTHON_USE_TYPE_SLOTS
    PyMappingMethods* mp = Py_TYPE(obj)->tp_as_mapping;
    if (likely(mp && mp->mp_ass_subscript))
#endif
    {
        int result;
        PyObject *py_slice, *py_start, *py_stop;
        if (_py_slice) {
            py_slice = *_py_slice;
        } else {
            PyObject* owned_start = NULL;
            PyObject* owned_stop = NULL;
            if (_py_start) {
                py_start = *_py_start;
            } else {
                if (has_cstart) {
                    owned_start = py_start = PyLong_FromSsize_t(cstart);
                    if (unlikely(!py_start)) goto bad;
                } else
                    py_start = Py_None;
            }
            if (_py_stop) {
                py_stop = *_py_stop;
            } else {
                if (has_cstop) {
                    owned_stop = py_stop = PyLong_FromSsize_t(cstop);
                    if (unlikely(!py_stop)) {
                        Py_XDECREF(owned_start);
                        goto bad;
                    }
                } else
                    py_stop = Py_None;
            }
            py_slice = PySlice_New(py_start, py_stop, Py_None);
            Py_XDECREF(owned_start);
            Py_XDECREF(owned_stop);
            if (unlikely(!py_slice)) goto bad;
        }
#if CYTHON_USE_TYPE_SLOTS
        result = mp->mp_ass_subscript(obj, py_slice, value);
#else
        result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice);
#endif
        if (!_py_slice) {
            Py_DECREF(py_slice);
        }
        return result;
    }
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "'" __Pyx_FMT_TYPENAME "' object does not support slice %.10s",
        obj_type_name, value ? "assignment" : "deletion");
    __Pyx_DECREF_TypeName(obj_type_name);
bad:
    return -1;
}

/* RaiseClosureNameError */
static void __Pyx_RaiseClosureNameError(const char *varname) {
    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}

/* PyObjectFormatAndDecref */
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f) {
    if (unlikely(!s)) return NULL;
    if (likely(PyUnicode_CheckExact(s))) return s;
    return __Pyx_PyObject_FormatAndDecref(s, f);
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f) {
    PyObject *result;
    if (unlikely(!s)) return NULL;
    result = PyObject_Format(s, f);
    Py_DECREF(s);
    return result;
}

/* RaiseUnboundLocalError */
static void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}

/* GetAttr3 */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    Py_INCREF(d);
    return d;
}
#endif
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    int res = PyObject_GetOptionalAttr(o, n, &r);
    return (res != 0) ? r : __Pyx_NewRef(d);
#else
  #if CYTHON_USE_TYPE_SLOTS
    if (likely(PyUnicode_Check(n))) {
        r = __Pyx_PyObject_GetAttrStrNoError(o, n);
        if (unlikely(!r) && likely(!PyErr_Occurred())) {
            r = __Pyx_NewRef(d);
        }
        return r;
    }
  #endif
    r = PyObject_GetAttr(o, n);
    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
#endif
}

/* pep479 */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) {
    PyObject *exc, *val, *tb, *cur_exc, *new_exc;
    __Pyx_PyThreadState_declare
    int is_async_stopiteration = 0;
    CYTHON_MAYBE_UNUSED_VAR(in_async_gen);
    __Pyx_PyThreadState_assign
    cur_exc = __Pyx_PyErr_CurrentExceptionType();
    if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) {
        if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopAsyncIteration))) {
            is_async_stopiteration = 1;
        } else {
            return;
        }
    }
    __Pyx_GetException(&exc, &val, &tb);
    Py_XDECREF(exc);
    Py_XDECREF(tb);
    new_exc = PyObject_CallFunction(PyExc_RuntimeError, "s",
        is_async_stopiteration ? "async generator raised StopAsyncIteration" :
        in_async_gen ? "async generator raised StopIteration" :
        "generator raised StopIteration");
    if (!new_exc) {
        Py_XDECREF(val);
        return;
    }
    PyException_SetCause(new_exc, val); // steals ref to val
    PyErr_SetObject(PyExc_RuntimeError, new_exc);
}

/* RaiseUnexpectedTypeError */
static int
__Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj)
{
    __Pyx_TypeName obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError, "Expected %s, got " __Pyx_FMT_TYPENAME,
                 expected, obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* ArgTypeTestFunc (used by ArgTypeTest) */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    __Pyx_TypeName type_name;
    __Pyx_TypeName obj_type_name;
    PyObject *extra_info = __pyx_mstate_global->__pyx_empty_unicode;
    int from_annotation_subclass = 0;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (!exact) {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    } else if (exact == 2) {
        if (__Pyx_TypeCheck(obj, type)) {
            from_annotation_subclass = 1;
            extra_info = __pyx_mstate_global->__pyx_kp_u_Note_that_Cython_is_deliberately;
        }
    }
    type_name = __Pyx_PyType_GetFullyQualifiedName(type);
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME
        ", got " __Pyx_FMT_TYPENAME ")"
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
        "%s%U"
#endif
        , name, type_name, obj_type_name
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
        , (from_annotation_subclass ? ". " : ""), extra_info
#endif
        );
#if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    if (exact == 2 && from_annotation_subclass) {
        PyObject *res;
        PyObject *vargs[2];
        vargs[0] = PyErr_GetRaisedException();
        vargs[1] = extra_info;
        res = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_kp_u_add_note, vargs, 2, NULL);
        Py_XDECREF(res);
        PyErr_SetRaisedException(vargs[0]);
    }
#endif
    __Pyx_DECREF_TypeName(type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
    if (likely(PyUnicode_Check(n)))
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* SliceObject */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
        Py_ssize_t cstart, Py_ssize_t cstop,
        PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
        int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
    __Pyx_TypeName obj_type_name;
#if CYTHON_USE_TYPE_SLOTS
    PyMappingMethods* mp = Py_TYPE(obj)->tp_as_mapping;
    if (likely(mp && mp->mp_subscript))
#endif
    {
        PyObject* result;
        PyObject *py_slice, *py_start, *py_stop;
        if (_py_slice) {
            py_slice = *_py_slice;
        } else {
            PyObject* owned_start = NULL;
            PyObject* owned_stop = NULL;
            if (_py_start) {
                py_start = *_py_start;
            } else {
                if (has_cstart) {
                    owned_start = py_start = PyLong_FromSsize_t(cstart);
                    if (unlikely(!py_start)) goto bad;
                } else
                    py_start = Py_None;
            }
            if (_py_stop) {
                py_stop = *_py_stop;
            } else {
                if (has_cstop) {
                    owned_stop = py_stop = PyLong_FromSsize_t(cstop);
                    if (unlikely(!py_stop)) {
                        Py_XDECREF(owned_start);
                        goto bad;
                    }
                } else
                    py_stop = Py_None;
            }
            py_slice = PySlice_New(py_start, py_stop, Py_None);
            Py_XDECREF(owned_start);
            Py_XDECREF(owned_stop);
            if (unlikely(!py_slice)) goto bad;
        }
#if CYTHON_USE_TYPE_SLOTS
        result = mp->mp_subscript(obj, py_slice);
#else
        result = PyObject_GetItem(obj, py_slice);
#endif
        if (!_py_slice) {
            Py_DECREF(py_slice);
        }
        return result;
    }
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "'" __Pyx_FMT_TYPENAME "' object is unsliceable", obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
bad:
    return NULL;
}

/* CIntToDigits (used by CIntToPyUnicode) */
static const char DIGIT_PAIRS_10[2*10*10+1] = {
    "00010203040506070809"
    "10111213141516171819"
    "20212223242526272829"
    "30313233343536373839"
    "40414243444546474849"
    "50515253545556575859"
    "60616263646566676869"
    "70717273747576777879"
    "80818283848586878889"
    "90919293949596979899"
};
static const char DIGIT_PAIRS_8[2*8*8+1] = {
    "0001020304050607"
    "1011121314151617"
    "2021222324252627"
    "3031323334353637"
    "4041424344454647"
    "5051525354555657"
    "6061626364656667"
    "7071727374757677"
};
static const char DIGITS_HEX[2*16+1] = {
    "0123456789abcdef"
    "0123456789ABCDEF"
};

/* BuildPyUnicode (used by COrdinalToPyUnicode) */
static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, const char* chars, int clength,
                                                int prepend_sign, char padding_char) {
    PyObject *uval;
    Py_ssize_t uoffset = ulength - clength;
#if CYTHON_USE_UNICODE_INTERNALS
    Py_ssize_t i;
    void *udata;
    uval = PyUnicode_New(ulength, 127);
    if (unlikely(!uval)) return NULL;
    udata = PyUnicode_DATA(uval);
    if (uoffset > 0) {
        i = 0;
        if (prepend_sign) {
            __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, 0, '-');
            i++;
        }
        for (; i < uoffset; i++) {
            __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, i, padding_char);
        }
    }
    for (i=0; i < clength; i++) {
        __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, uoffset+i, chars[i]);
    }
#else
    {
        PyObject *sign = NULL, *padding = NULL;
        uval = NULL;
        if (uoffset > 0) {
            prepend_sign = !!prepend_sign;
            if (uoffset > prepend_sign) {
                padding = PyUnicode_FromOrdinal(padding_char);
                if (likely(padding) && uoffset > prepend_sign + 1) {
                    PyObject *tmp = PySequence_Repeat(padding, uoffset - prepend_sign);
                    Py_DECREF(padding);
                    padding = tmp;
                }
                if (unlikely(!padding)) goto done_or_error;
            }
            if (prepend_sign) {
                sign = PyUnicode_FromOrdinal('-');
                if (unlikely(!sign)) goto done_or_error;
            }
        }
        uval = PyUnicode_DecodeASCII(chars, clength, NULL);
        if (likely(uval) && padding) {
            PyObject *tmp = PyUnicode_Concat(padding, uval);
            Py_DECREF(uval);
            uval = tmp;
        }
        if (likely(uval) && sign) {
            PyObject *tmp = PyUnicode_Concat(sign, uval);
            Py_DECREF(uval);
            uval = tmp;
        }
done_or_error:
        Py_XDECREF(padding);
        Py_XDECREF(sign);
    }
#endif
    return uval;
}

/* COrdinalToPyUnicode (used by CIntToPyUnicode) */
static CYTHON_INLINE int __Pyx_CheckUnicodeValue(int value) {
    return value <= 1114111;
}
static PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(int value, Py_ssize_t ulength, char padding_char) {
    Py_ssize_t padding_length = ulength - 1;
    if (likely((padding_length <= 250) && (value < 0xD800 || value > 0xDFFF))) {
        char chars[256];
        if (value <= 255) {
            memset(chars, padding_char, (size_t) padding_length);
            chars[ulength-1] = (char) value;
            return PyUnicode_DecodeLatin1(chars, ulength, NULL);
        }
        char *cpos = chars + sizeof(chars);
        if (value < 0x800) {
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0xc0 | (value & 0x1f));
        } else if (value < 0x10000) {
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0xe0 | (value & 0x0f));
        } else {
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0xf0 | (value & 0x07));
        }
        cpos -= padding_length;
        memset(cpos, padding_char, (size_t) padding_length);
        return PyUnicode_DecodeUTF8(cpos, chars + sizeof(chars) - cpos, NULL);
    }
    if (value <= 127 && CYTHON_USE_UNICODE_INTERNALS) {
        const char chars[1] = {(char) value};
        return __Pyx_PyUnicode_BuildFromAscii(ulength, chars, 1, 0, padding_char);
    }
    {
        PyObject *uchar, *padding_uchar, *padding, *result;
        padding_uchar = PyUnicode_FromOrdinal(padding_char);
        if (unlikely(!padding_uchar)) return NULL;
        padding = PySequence_Repeat(padding_uchar, padding_length);
        Py_DECREF(padding_uchar);
        if (unlikely(!padding)) return NULL;
        uchar = PyUnicode_FromOrdinal(value);
        if (unlikely(!uchar)) {
            Py_DECREF(padding);
            return NULL;
        }
        result = PyUnicode_Concat(padding, uchar);
        Py_DECREF(padding);
        Py_DECREF(uchar);
        return result;
    }
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                    !(sizeof(value) <= 2 || value & ~ (Py_ssize_t) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
        PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
        return NULL;
    }
    if (width <= 1) {
        return PyUnicode_FromOrdinal((int) value);
    }
    return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
}
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(Py_ssize_t)*3+2];
    char *dpos, *end = digits + sizeof(Py_ssize_t)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    Py_ssize_t remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (Py_ssize_t) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (Py_ssize_t) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (Py_ssize_t) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* UnicodeConcatInPlace */
# if CYTHON_COMPILING_IN_CPYTHON
static int
__Pyx_unicode_modifiable(PyObject *unicode, int unsafe_shared)
{
    if (!__Pyx_IS_UNIQUELY_REFERENCED(unicode, unsafe_shared))
        return 0;
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030F0000
    if (PyUnstable_Unicode_GET_CACHED_HASH(unicode) != -1)
        return 0;
#endif
    if (!PyUnicode_CheckExact(unicode))
        return 0;
    if (PyUnicode_CHECK_INTERNED(unicode))
        return 0;
    return 1;
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right, int unsafe_shared
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    ) {
    PyObject *left = *p_left;
    Py_ssize_t left_len, right_len, new_len;
    if (unlikely(__Pyx_PyUnicode_READY(left) == -1))
        return NULL;
    if (unlikely(__Pyx_PyUnicode_READY(right) == -1))
        return NULL;
    left_len = PyUnicode_GET_LENGTH(left);
    if (left_len == 0) {
        Py_INCREF(right);
        return right;
    }
    right_len = PyUnicode_GET_LENGTH(right);
    if (right_len == 0) {
        Py_INCREF(left);
        return left;
    }
    if (unlikely(left_len > PY_SSIZE_T_MAX - right_len)) {
        PyErr_SetString(PyExc_OverflowError,
                        "strings are too large to concat");
        return NULL;
    }
    new_len = left_len + right_len;
    if (__Pyx_unicode_modifiable(left, unsafe_shared)
            && PyUnicode_CheckExact(right)
            && PyUnicode_KIND(right) <= PyUnicode_KIND(left)
            && !(PyUnicode_IS_ASCII(left) && !PyUnicode_IS_ASCII(right))) {
        int ret;
        __Pyx_GIVEREF(*p_left);
        ret = PyUnicode_Resize(p_left, new_len);
        __Pyx_GOTREF(*p_left);
        if (unlikely(ret != 0))
            return NULL;
        #if PY_VERSION_HEX >= 0x030d0000
        if (unlikely(PyUnicode_CopyCharacters(*p_left, left_len, right, 0, right_len) < 0)) return NULL;
        #else
        _PyUnicode_FastCopyCharacters(*p_left, left_len, right, 0, right_len);
        #endif
        __Pyx_INCREF(*p_left);
        __Pyx_GIVEREF(*p_left);
        return *p_left;
    } else {
        return __Pyx_PyUnicode_Concat(left, right);
    }
  }
#endif

/* HasAttr (used by ImportImpl) */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
    PyObject *r;
    if (unlikely(!PyUnicode_Check(n))) {
        PyErr_SetString(PyExc_TypeError,
                        "hasattr(): attribute name must be string");
        return -1;
    }
    r = __Pyx_PyObject_GetAttrStrNoError(o, n);
    if (!r) {
        return (unlikely(PyErr_Occurred())) ? -1 : 0;
    } else {
        Py_DECREF(r);
        return 1;
    }
}
#endif

/* ImportImpl (used by Import) */
static int __Pyx__Import_GetModule(PyObject *qualname, PyObject **module) {
    PyObject *imported_module = PyImport_GetModule(qualname);
    if (unlikely(!imported_module)) {
        *module = NULL;
        if (PyErr_Occurred()) {
            return -1;
        }
        return 0;
    }
    *module = imported_module;
    return 1;
}
static int __Pyx__Import_Lookup(PyObject *qualname, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject **module) {
    PyObject *imported_module;
    PyObject *top_level_package_name;
    Py_ssize_t i;
    int status, module_found;
    Py_ssize_t dot_index;
    module_found = __Pyx__Import_GetModule(qualname, &imported_module);
    if (unlikely(!module_found || module_found == -1)) {
        *module = NULL;
        return module_found;
    }
    if (imported_names) {
        for (i = 0; i < len_imported_names; i++) {
            PyObject *imported_name = imported_names[i];
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
            int has_imported_attribute = PyObject_HasAttr(imported_module, imported_name);
#else
            int has_imported_attribute = PyObject_HasAttrWithError(imported_module, imported_name);
            if (unlikely(has_imported_attribute == -1)) goto error;
#endif
            if (!has_imported_attribute) {
                goto not_found;
            }
        }
        *module = imported_module;
        return 1;
    }
    dot_index = PyUnicode_FindChar(qualname, '.', 0, PY_SSIZE_T_MAX, 1);
    if (dot_index == -1) {
        *module = imported_module;
        return 1;
    }
    if (unlikely(dot_index == -2)) goto error;
    top_level_package_name = PyUnicode_Substring(qualname, 0, dot_index);
    if (unlikely(!top_level_package_name)) goto error;
    Py_DECREF(imported_module);
    status = __Pyx__Import_GetModule(top_level_package_name, module);
    Py_DECREF(top_level_package_name);
    return status;
error:
    Py_DECREF(imported_module);
    *module = NULL;
    return -1;
not_found:
    Py_DECREF(imported_module);
    *module = NULL;
    return 0;
}
static PyObject *__Pyx__Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict, int level) {
    PyObject *module = 0;
    PyObject *empty_dict = 0;
    PyObject *from_list = 0;
    int module_found;
    if (!qualname) {
        qualname = name;
    }
    module_found = __Pyx__Import_Lookup(qualname, imported_names, len_imported_names, &module);
    if (likely(module_found == 1)) {
        return module;
    } else if (unlikely(module_found == -1)) {
        return NULL;
    }
    empty_dict = PyDict_New();
    if (unlikely(!empty_dict))
        goto bad;
    if (imported_names) {
#if CYTHON_COMPILING_IN_CPYTHON
        from_list = __Pyx_PyList_FromArray(imported_names, len_imported_names);
        if (unlikely(!from_list))
            goto bad;
#else
        from_list = PyList_New(len_imported_names);
        if (unlikely(!from_list)) goto bad;
        for (Py_ssize_t i=0; i<len_imported_names; ++i) {
            if (PyList_SetItem(from_list, i, __Pyx_NewRef(imported_names[i])) < 0) goto bad;
        }
#endif
    }
    if (level == -1) {
        const char* package_sep = strchr(__Pyx_MODULE_NAME, '.');
        if (package_sep != (0)) {
            module = PyImport_ImportModuleLevelObject(
                name, moddict, empty_dict, from_list, 1);
            if (unlikely(!module)) {
                if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
                    goto bad;
                PyErr_Clear();
            }
        }
        level = 0;
    }
    if (!module) {
        module = PyImport_ImportModuleLevelObject(
            name, moddict, empty_dict, from_list, level);
    }
bad:
    Py_XDECREF(from_list);
    Py_XDECREF(empty_dict);
    return module;
}

/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, int level) {
    return __Pyx__Import(name, imported_names, len_imported_names, qualname, __pyx_mstate_global->__pyx_d, level);
}

/* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        const char* module_name_str = 0;
        PyObject* module_name = 0;
        PyObject* module_dot = 0;
        PyObject* full_name = 0;
        PyErr_Clear();
        module_name_str = PyModule_GetName(module);
        if (unlikely(!module_name_str)) { goto modbad; }
        module_name = PyUnicode_FromString(module_name_str);
        if (unlikely(!module_name)) { goto modbad; }
        module_dot = PyUnicode_Concat(module_name, __pyx_mstate_global->__pyx_kp_u__4);
        if (unlikely(!module_dot)) { goto modbad; }
        full_name = PyUnicode_Concat(module_dot, name);
        if (unlikely(!full_name)) { goto modbad; }
        #if (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400) ||\
                CYTHON_COMPILING_IN_GRAAL
        {
            PyObject *modules = PyImport_GetModuleDict();
            if (unlikely(!modules))
                goto modbad;
            value = PyObject_GetItem(modules, full_name);
        }
        #else
        value = PyImport_GetModule(full_name);
        #endif
      modbad:
        Py_XDECREF(full_name);
        Py_XDECREF(module_dot);
        Py_XDECREF(module_name);
    }
    if (unlikely(!value)) {
        PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
    }
    return value;
}

/* MergeKeywords */
static int __Pyx_MergeKeywords_dict(PyObject *kwdict, PyObject *source_dict) {
    Py_ssize_t len1, len2;
    len2 = PyDict_Size(source_dict);
    if (unlikely(len2 == -1)) return -1;
    if (len2 == 0) {
        return 0;
    }
    len1 = PyDict_Size(kwdict);
    if (unlikely(len1 == -1)) return -1;
    if (len1 > 0) {
        PyObject *key, *smaller_dict, *larger_dict;
        #if CYTHON_AVOID_BORROWED_REFS
        PyObject *ppos = NULL;
        #else
        Py_ssize_t ppos = 0;
        #endif
        int duplicates_found = 0;
        if (len1 <= len2) {
            smaller_dict = kwdict;
            larger_dict = source_dict;
        } else {
            smaller_dict = source_dict;
            larger_dict = kwdict;
        }
        __Pyx_BEGIN_CRITICAL_SECTION(smaller_dict);
        while (
            #if CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
            __Pyx_PyDict_NextRef(smaller_dict, &ppos, &key, NULL)
            #else
            PyDict_Next(smaller_dict, &ppos, &key, NULL)
            #endif
        ) {
            if (unlikely(PyDict_Contains(larger_dict, key))) {
                __Pyx_RaiseDoubleKeywordsError("function", key);
                #if CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
                Py_DECREF(key);
                #endif
                duplicates_found = 1;
                break;
            };
            #if CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
            Py_DECREF(key);
            #endif
        }
        __Pyx_END_CRITICAL_SECTION();
        #if CYTHON_AVOID_BORROWED_REFS
        Py_XDECREF(ppos);
        #endif
        if (unlikely(duplicates_found))
            return -1;
    }
    return PyDict_Update(kwdict, source_dict);
}
static int __Pyx_MergeKeywords_any(PyObject *kwdict, PyObject *source_mapping) {
    PyObject *iter, *key = NULL, *value = NULL;
    int source_is_dict, result;
    Py_ssize_t orig_length, ppos = 0;
    iter = __Pyx_dict_iterator(source_mapping, 0, __pyx_mstate_global->__pyx_n_u_items, &orig_length, &source_is_dict);
    if (unlikely(!iter)) {
        PyObject *args;
        if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError))) goto bad;
        PyErr_Clear();
        args = PyTuple_Pack(1, source_mapping);
        if (likely(args)) {
            PyObject *fallback = PyObject_Call((PyObject*)&PyDict_Type, args, NULL);
            Py_DECREF(args);
            if (likely(fallback)) {
                result = __Pyx_MergeKeywords_dict(kwdict, fallback);
                Py_DECREF(fallback);
                return result;
            }
        }
        if (unlikely(!iter)) goto bad;
    }
    while (1) {
        result = __Pyx_dict_iter_next(iter, orig_length, &ppos, &key, &value, NULL, source_is_dict);
        if (unlikely(result < 0)) goto bad;
        if (!result) break;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
        {
            int inserted = PyDict_SetDefaultRef(kwdict, key, value, NULL);
            if (unlikely(inserted != 0)) {
                if (inserted == 1) __Pyx_RaiseDoubleKeywordsError("function", key);
                result = -1;
            }
        }
    #else
        if (unlikely(PyDict_Contains(kwdict, key))) {
            __Pyx_RaiseDoubleKeywordsError("function", key);
            result = -1;
        } else {
            result = PyDict_SetItem(kwdict, key, value);
        }
    #endif
        Py_DECREF(key);
        Py_DECREF(value);
        if (unlikely(result < 0)) goto bad;
    }
    Py_XDECREF(iter);
    return 0;
bad:
    Py_XDECREF(iter);
    return -1;
}
static CYTHON_INLINE int __Pyx_MergeKeywords(PyObject *kwdict, PyObject *source_mapping) {
    assert(PyDict_Check(kwdict));
    if (likely(PyDict_Check(source_mapping))) {
        return __Pyx_MergeKeywords_dict(kwdict, source_mapping);
    } else {
        return __Pyx_MergeKeywords_any(kwdict, source_mapping);
    }
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_size_t(size_t value, Py_ssize_t width, char padding_char) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                    !(sizeof(value) <= 2 || value & ~ (size_t) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
        PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
        return NULL;
    }
    if (width <= 1) {
        return PyUnicode_FromOrdinal((int) value);
    }
    return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
}
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_size_t(size_t value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(size_t)*3+2];
    char *dpos, *end = digits + sizeof(size_t)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    size_t remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (size_t) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (size_t) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (size_t) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* pyfrozenset_new (used by PySetContains) */
static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
    if (it) {
        PyObject* result;
#if CYTHON_COMPILING_IN_PYPY
        PyObject* args;
        args = PyTuple_Pack(1, it);
        if (unlikely(!args))
            return NULL;
        result = PyObject_Call((PyObject*)&PyFrozenSet_Type, args, NULL);
        Py_DECREF(args);
        return result;
#else
        if (PyFrozenSet_CheckExact(it)) {
            Py_INCREF(it);
            return it;
        }
        result = PyFrozenSet_New(it);
        if (unlikely(!result))
            return NULL;
        if ((__PYX_LIMITED_VERSION_HEX >= 0x030A0000)
#if CYTHON_COMPILING_IN_LIMITED_API
            || __Pyx_get_runtime_version() >= 0x030A0000
#endif
            )
            return result;
        {
            Py_ssize_t size = __Pyx_PySet_GET_SIZE(result);
            if (likely(size > 0))
                return result;
#if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely(size < 0)) {
                Py_DECREF(result);
                return NULL;
            }
#endif
        }
        Py_DECREF(result);
#endif
    }
    return __Pyx_PyObject_CallNoArg((PyObject*) &PyFrozenSet_Type);
}

/* PySetContains */
static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
    int result = -1;
    if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) {
        PyObject *tmpkey;
        PyErr_Clear();
        tmpkey = __Pyx_PyFrozenSet_New(key);
        if (tmpkey != NULL) {
            result = PySet_Contains(set, tmpkey);
            Py_DECREF(tmpkey);
        }
    }
    return result;
}
static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq) {
    int result = PySet_Contains(set, key);
    if (unlikely(result < 0)) {
        result = __Pyx_PySet_ContainsUnhashable(set, key);
    }
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* PyObjectCall2Args (used by CallUnboundCMethod1) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args[3] = {NULL, arg1, arg2};
    return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* CallUnboundCMethod1 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) {
    int was_initialized =  __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
    if (likely(was_initialized == 2 && cfunc->func)) {
        int flag = cfunc->flag;
        if (flag == METH_O) {
            return __Pyx_CallCFunction(cfunc, self, arg);
        } else if (flag == METH_FASTCALL) {
            return __Pyx_CallCFunctionFast(cfunc, self, &arg, 1);
        } else if (flag == (METH_FASTCALL | METH_KEYWORDS)) {
            return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, &arg, 1, NULL);
        }
    }
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    else if (unlikely(was_initialized == 1)) {
        __Pyx_CachedCFunction tmp_cfunc = {
#ifndef __cplusplus
            0
#endif
        };
        tmp_cfunc.type = cfunc->type;
        tmp_cfunc.method_name = cfunc->method_name;
        return __Pyx__CallUnboundCMethod1(&tmp_cfunc, self, arg);
    }
#endif
    PyObject* result = __Pyx__CallUnboundCMethod1(cfunc, self, arg);
    __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
    return result;
}
#endif
static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){
    PyObject *result = NULL;
    if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_COMPILING_IN_CPYTHON
    if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
        PyObject *args = PyTuple_New(1);
        if (unlikely(!args)) return NULL;
        Py_INCREF(arg);
        PyTuple_SET_ITEM(args, 0, arg);
        if (cfunc->flag & METH_KEYWORDS)
            result = __Pyx_CallCFunctionWithKeywords(cfunc, self, args, NULL);
        else
            result = __Pyx_CallCFunction(cfunc, self, args);
        Py_DECREF(args);
    } else
#endif
    {
        result = __Pyx_PyObject_Call2Args(cfunc->method, self, arg);
    }
    return result;
}

/* dict_getitem_default */
static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) {
    PyObject* value;
#if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000
    value = PyDict_GetItemWithError(d, key);
    if (unlikely(!value)) {
        if (unlikely(PyErr_Occurred()))
            return NULL;
        value = default_value;
    }
    Py_INCREF(value);
    if ((1));
#else
    if (PyBytes_CheckExact(key) || PyUnicode_CheckExact(key) || PyLong_CheckExact(key)) {
        value = PyDict_GetItem(d, key);
        if (unlikely(!value)) {
            value = default_value;
        }
        Py_INCREF(value);
    }
#endif
    else {
        if (default_value == Py_None)
            value = __Pyx_CallUnboundCMethod1(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_get, d, key);
        else
            value = __Pyx_CallUnboundCMethod2(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_get, d, key, default_value);
    }
    return value;
}

/* pop */
static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L) {
    if (__Pyx_IS_TYPE(L, &PySet_Type)) {
        return PySet_Pop(L);
    }
    return __Pyx_PyObject_CallMethod0(L, __pyx_mstate_global->__pyx_n_u_pop);
}
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L) {
    if (likely(PyList_GET_SIZE(L) > (((PyListObject*)L)->allocated >> 1))) {
        __Pyx_SET_SIZE(L, Py_SIZE(L) - 1);
        return PyList_GET_ITEM(L, PyList_GET_SIZE(L));
    }
    return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyList_Type_pop, L);
}
#endif

/* PyUnicode_Unicode */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) {
    if (unlikely(obj == Py_None))
        obj = __pyx_mstate_global->__pyx_kp_u_None;
    return __Pyx_NewRef(obj);
}

/* PyObjectCallMethod1 (used by append) */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
    Py_DECREF(method);
    return result;
}
#endif
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
    PyObject *args[2] = {obj, arg};
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_Call2Args;
    return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_Call2Args(method, obj, arg);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) return NULL;
    return __Pyx__PyObject_CallMethod1(method, arg);
#endif
}

/* append */
static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
    if (likely(PyList_CheckExact(L))) {
        if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
    } else {
        PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_mstate_global->__pyx_n_u_append, x);
        if (unlikely(!retval))
            return -1;
        Py_DECREF(retval);
    }
    return 0;
}

/* ExtTypeTest */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
    __Pyx_TypeName obj_type_name;
    __Pyx_TypeName type_name;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (likely(__Pyx_TypeCheck(obj, type)))
        return 1;
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    type_name = __Pyx_PyType_GetFullyQualifiedName(type);
    PyErr_Format(PyExc_TypeError,
                 "Cannot convert " __Pyx_FMT_TYPENAME " to " __Pyx_FMT_TYPENAME,
                 obj_type_name, type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    __Pyx_DECREF_TypeName(type_name);
    return 0;
}

/* StringJoin */
static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
    (void) __Pyx_PyObject_CallMethod1;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030e0000 || defined(PyBytes_Join)
    return PyBytes_Join(sep, values);
#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyBytes_Join)
    return _PyBytes_Join(sep, values);
#else
    return __Pyx_PyObject_CallMethod1(sep, __pyx_mstate_global->__pyx_n_u_join, values);
#endif
}

/* PyLongCompare */
static CYTHON_INLINE int __Pyx_PyLong_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(inplace);
    if (op1 == op2) {
        return 1;
    }
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        int unequal;
        unsigned long uintval;
        Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
        const digit* digits = __Pyx_PyLong_Digits(op1);
        if (intval == 0) {
            return (__Pyx_PyLong_IsZero(op1) == 1);
        } else if (intval < 0) {
            if (__Pyx_PyLong_IsNonNeg(op1))
                return 0;
            intval = -intval;
        } else {
            if (__Pyx_PyLong_IsNeg(op1))
                return 0;
        }
        uintval = (unsigned long) intval;
#if PyLong_SHIFT * 4 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 4)) {
            unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 3 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 3)) {
            unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 2 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 2)) {
            unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 1 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 1)) {
            unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
            unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
        return (unequal == 0);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = __Pyx_PyFloat_AS_DOUBLE(op1);
        return ((double)a == (double)b);
    }
    return __Pyx_PyObject_IsTrueAndDecref(
        PyObject_RichCompare(op1, op2, Py_EQ));
}

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_AndObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceAnd : PyNumber_And)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a;
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla;
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return __Pyx_NewRef(op1);
    }
    const int is_positive = __Pyx_PyLong_IsPos(op1);
    if ((intval & PyLong_MASK) == intval) {
        long last_digit = (long) __Pyx_PyLong_Digits(op1)[0];
        long result = intval & (likely(is_positive) ? last_digit : (PyLong_MASK - last_digit + 1));
        return PyLong_FromLong(result);
    }
    const digit* digits = __Pyx_PyLong_Digits(op1);
    const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
    if (likely(size == 1)) {
        a = (long) digits[0];
        if (!is_positive) a *= -1;
    } else {
        switch (size) {
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
        }
        return PyLong_Type.tp_as_number->nb_and(op1, op2);
    }
    calculate_long:
        {
            long x;
            x = a & b;
            return PyLong_FromLong(x);
        }
    calculate_long_long:
        {
            PY_LONG_LONG llx;
            llx = lla & llb;
            return PyLong_FromLongLong(llx);
        }
    
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyLong_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_AndObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    return __Pyx_Fallback___Pyx_PyLong_AndObjC(op1, op2, inplace);
}
#endif

/* SetStringIndexingError (used by GetItemIntBytes) */
static void __Pyx_SetStringIndexingError(const char* message, int has_gil) {
    if (!has_gil) {
        PyGILState_STATE gil_state = PyGILState_Ensure();
        PyErr_SetString(PyExc_IndexError, message);
        PyGILState_Release(gil_state);
    } else
        PyErr_SetString(PyExc_IndexError, message);
}

/* GetItemIntBytes */
static CYTHON_INLINE int __Pyx_GetItemInt_Bytes_Fast(PyObject* bytes, Py_ssize_t index,
                                                     int wraparound, int boundscheck, int has_gil) {
    const unsigned char *c_string;
    if (wraparound && index < 0) {
        Py_ssize_t size = __Pyx_PyBytes_GET_SIZE(bytes);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(size < 0)) return -1;
        #endif
        index += size;
    }
    if (boundscheck) {
        Py_ssize_t size = __Pyx_PyBytes_GET_SIZE(bytes);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(size < 0)) return -1;
        #endif
        if (unlikely(!__Pyx_is_valid_index(index, size))) {
            __Pyx_SetStringIndexingError("string index out of range", has_gil);
            return -1;
        }
    }
    c_string = __Pyx_PyBytes_AsUString(bytes);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (unlikely(!c_string)) return -1;
    #endif
    return (int) c_string[index];
}

/* ByteArrayAppend */
static CYTHON_INLINE int __Pyx_PyByteArray_Append(PyObject* bytearray, int value) {
    PyObject *pyval, *retval;
#if CYTHON_COMPILING_IN_CPYTHON
    if (likely(__Pyx_is_valid_index(value, 256))) {
        Py_ssize_t n = Py_SIZE(bytearray);
        if (likely(n != PY_SSIZE_T_MAX)) {
            if (unlikely(PyByteArray_Resize(bytearray, n + 1) < 0))
                return -1;
            PyByteArray_AS_STRING(bytearray)[n] = (char) (unsigned char) value;
            return 0;
        }
    } else {
        PyErr_SetString(PyExc_ValueError, "byte must be in range(0, 256)");
        return -1;
    }
#endif
    pyval = PyLong_FromLong(value);
    if (unlikely(!pyval))
        return -1;
    retval = __Pyx_PyObject_CallMethod1(bytearray, __pyx_mstate_global->__pyx_n_u_append, pyval);
    Py_DECREF(pyval);
    if (unlikely(!retval))
        return -1;
    Py_DECREF(retval);
    return 0;
}

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_RshiftObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceRshift : PyNumber_Rshift)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_RshiftObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a;
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla;
#if (defined(__cplusplus) && __cplusplus >= 202002L)\
        || (defined(__GNUC__) || (defined(__clang__))) &&\
            (defined(__arm__) || defined(__x86_64__) || defined(__i386__))\
        || (defined(_MSC_VER) &&\
            (defined(_M_ARM) || defined(_M_AMD64) || defined(_M_IX86)))
    const int negative_shift_works = 1;
#else
    const int negative_shift_works = 0;
#endif
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return __Pyx_NewRef(op1);
    }
    const int is_positive = __Pyx_PyLong_IsPos(op1);
    const digit* digits = __Pyx_PyLong_Digits(op1);
    const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
    if (likely(size == 1)) {
        a = (long) digits[0];
        if (!is_positive) a *= -1;
    } else {
        switch (size) {
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
        }
        return PyLong_Type.tp_as_number->nb_rshift(op1, op2);
    }
    calculate_long:
        if ((!negative_shift_works) && unlikely(a < 0)) goto fallback;
        {
            long x;
            if (unlikely(b >= (long) (sizeof(long)*8))) {
                x = (a < 0) ? -1 : 0;
            } else
            x = a >> b;
            return PyLong_FromLong(x);
        }
    calculate_long_long:
        if ((!negative_shift_works) && unlikely(lla < 0)) goto fallback;
        {
            PY_LONG_LONG llx;
            if (unlikely(llb >= (long long) (sizeof(long long)*8))) {
                llx = (lla < 0) ? -1 : 0;
            } else
            llx = lla >> llb;
            return PyLong_FromLongLong(llx);
        }
    fallback:
        return __Pyx_Fallback___Pyx_PyLong_RshiftObjC(op1, op2, inplace);
    
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyLong_RshiftObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_RshiftObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    return __Pyx_Fallback___Pyx_PyLong_RshiftObjC(op1, op2, inplace);
}
#endif

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_FloorDivideObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceFloorDivide : PyNumber_FloorDivide)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_FloorDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a;
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla;
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return __Pyx_NewRef(op1);
    }
    const int is_positive = __Pyx_PyLong_IsPos(op1);
    const digit* digits = __Pyx_PyLong_Digits(op1);
    const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
    if (likely(size == 1)) {
        a = (long) digits[0];
        if (!is_positive) a *= -1;
    } else {
        switch (size) {
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
        }
        return PyLong_Type.tp_as_number->nb_floor_divide(op1, op2);
    }
    calculate_long:
        {
            long q, r;
            q = a / b;
            r = a - q*b;
            q -= ((r != 0) & ((r ^ b) < 0));
            return PyLong_FromLong(q);
        }
    calculate_long_long:
        {
            PY_LONG_LONG q, r;
            q = lla / llb;
            r = lla - q*llb;
            q -= ((r != 0) & ((r ^ llb) < 0));
            return PyLong_FromLongLong(q);
        }
    
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyLong_FloorDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_FloorDivideObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    return __Pyx_Fallback___Pyx_PyLong_FloorDivideObjC(op1, op2, inplace);
}
#endif

/* PyUnicode_Substring */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Substring(
            PyObject* text, Py_ssize_t start, Py_ssize_t stop) {
    Py_ssize_t length;
    #if !CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(__Pyx_PyUnicode_READY(text) == -1)) return NULL;
    #endif
    length = __Pyx_PyUnicode_GET_LENGTH(text);
    #if !CYTHON_ASSUME_SAFE_SIZE
    if (unlikely(length < 0)) return NULL;
    #endif
    if (start < 0) {
        start += length;
        if (start < 0)
            start = 0;
    }
    if (stop < 0)
        stop += length;
    else if (stop > length)
        stop = length;
    if (stop <= start)
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_unicode);
    if (start == 0 && stop == length)
        return __Pyx_NewRef(text);
#if CYTHON_COMPILING_IN_LIMITED_API
    return PyUnicode_Substring(text, start, stop);
#else
    return PyUnicode_FromKindAndData(PyUnicode_KIND(text),
        PyUnicode_1BYTE_DATA(text) + start*PyUnicode_KIND(text), stop-start);
#endif
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                    !(sizeof(value) <= 2 || value & ~ (long) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
        PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
        return NULL;
    }
    if (width <= 1) {
        return PyUnicode_FromOrdinal((int) value);
    }
    return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
}
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(long)*3+2];
    char *dpos, *end = digits + sizeof(long)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    long remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (long) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (long) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (long) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* decode_c_bytes (used by decode_bytes) */
static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
         const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
    if (unlikely((start < 0) | (stop < 0))) {
        if (start < 0) {
            start += length;
            if (start < 0)
                start = 0;
        }
        if (stop < 0)
            stop += length;
    }
    if (stop > length)
        stop = length;
    if (unlikely(stop <= start))
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_unicode);
    length = stop - start;
    cstring += start;
    if (decode_func) {
        return decode_func(cstring, length, errors);
    } else {
        return PyUnicode_Decode(cstring, length, encoding, errors);
    }
}

/* SliceTupleAndList */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop, Py_ssize_t* _length) {
    Py_ssize_t start = *_start, stop = *_stop, length = *_length;
    if (start < 0) {
        start += length;
        if (start < 0)
            start = 0;
    }
    if (stop < 0)
        stop += length;
    else if (stop > length)
        stop = length;
    *_length = stop - start;
    *_start = start;
    *_stop = stop;
}
static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(
            PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
    Py_ssize_t length = PyTuple_GET_SIZE(src);
    __Pyx_crop_slice(&start, &stop, &length);
    return __Pyx_PyTuple_FromArray(((PyTupleObject*)src)->ob_item + start, length);
}
static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice_locked(
            PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
    Py_ssize_t length = PyList_GET_SIZE(src);
    __Pyx_crop_slice(&start, &stop, &length);
    if (length <= 0) {
        return PyList_New(0);
    }
    return __Pyx_PyList_FromArray(((PyListObject*)src)->ob_item + start, length);
}
static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(
            PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
    PyObject *result;
    __Pyx_BEGIN_CRITICAL_SECTION(src);
    result = __Pyx_PyList_GetSlice_locked(src, start, stop);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
#endif // CYTHON_COMPILING_IN_CPYTHON

/* RejectKeywords */
static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds) {
    PyObject *key = NULL;
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds))) {
        key = __Pyx_PySequence_ITEM(kwds, 0);
    } else {
#if CYTHON_AVOID_BORROWED_REFS
        PyObject *pos = NULL;
#else
        Py_ssize_t pos = 0;
#endif
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
        if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return;
#endif
        __Pyx_PyDict_NextRef(kwds, &pos, &key, NULL);
#if CYTHON_AVOID_BORROWED_REFS
        Py_XDECREF(pos);
#endif
    }
    if (likely(key)) {
        PyErr_Format(PyExc_TypeError,
            "%s() got an unexpected keyword argument '%U'",
            function_name, key);
        Py_DECREF(key);
    }
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_bint(int value, Py_ssize_t width, char padding_char) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                    !(sizeof(value) <= 2 || value & ~ (int) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
        PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
        return NULL;
    }
    if (width <= 1) {
        return PyUnicode_FromOrdinal((int) value);
    }
    return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
}
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_bint(int value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(int)*3+2];
    char *dpos, *end = digits + sizeof(int)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    int remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (int) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (int) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (int) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a;
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla;
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return PyLong_FromLong(-intval);
    }
    const int is_positive = __Pyx_PyLong_IsPos(op1);
    const digit* digits = __Pyx_PyLong_Digits(op1);
    const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
    if (likely(size == 1)) {
        a = (long) digits[0];
        if (!is_positive) a *= -1;
    } else {
        switch (size) {
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
        }
        return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
    }
    calculate_long:
        {
            long x;
            x = a - b;
            return PyLong_FromLong(x);
        }
    calculate_long_long:
        {
            PY_LONG_LONG llx;
            llx = lla - llb;
            return PyLong_FromLongLong(llx);
        }
    
}
#endif
static PyObject* __Pyx_Float___Pyx_PyLong_SubtractObjC(PyObject *float_val, long intval, int zerodivision_check) {
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    double a = __Pyx_PyFloat_AS_DOUBLE(float_val);
        double result;
        
        result = ((double)a) - (double)b;
        return PyFloat_FromDouble(result);
}
static CYTHON_INLINE PyObject* __Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_SubtractObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        return __Pyx_Float___Pyx_PyLong_SubtractObjC(op1, intval, zerodivision_check);
    }
    return __Pyx_Fallback___Pyx_PyLong_SubtractObjC(op1, op2, inplace);
}
#endif

/* PySequenceMultiply */
#if CYTHON_USE_TYPE_SLOTS
static PyObject* __Pyx_PySequence_Multiply_Generic(PyObject *seq, Py_ssize_t mul) {
    PyObject *result, *pymul = PyLong_FromSsize_t(mul);
    if (unlikely(!pymul))
        return NULL;
    result = PyNumber_Multiply(seq, pymul);
    Py_DECREF(pymul);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul) {
    PyTypeObject *type = Py_TYPE(seq);
    if (likely(type->tp_as_sequence && type->tp_as_sequence->sq_repeat)) {
        return type->tp_as_sequence->sq_repeat(seq, mul);
    } else {
        return __Pyx_PySequence_Multiply_Generic(seq, mul);
    }
}
#endif

/* DelItemInt */
static int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
    int r;
    if (unlikely(!j)) return -1;
    r = PyObject_DelItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i,
                                               int is_list, CYTHON_NCP_UNUSED int wraparound) {
#if !CYTHON_USE_TYPE_SLOTS
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_DelItem(o, i);
    }
#else
    PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
    PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
    if ((!is_list) && mm && mm->mp_ass_subscript) {
        PyObject *key = PyLong_FromSsize_t(i);
        return likely(key) ? mm->mp_ass_subscript(o, key, (PyObject *)NULL) : -1;
    }
    if (likely(sm && sm->sq_ass_item)) {
        if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
            Py_ssize_t l = sm->sq_length(o);
            if (likely(l >= 0)) {
                i += l;
            } else {
                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                    return -1;
                PyErr_Clear();
            }
        }
        return sm->sq_ass_item(o, i, (PyObject *)NULL);
    }
#endif
    return __Pyx_DelItem_Generic(o, PyLong_FromSsize_t(i));
}

/* unicode_iter */
static CYTHON_INLINE int __Pyx_init_unicode_iteration(
    PyObject* ustring, Py_ssize_t *length, void** data, int *kind) {
#if CYTHON_COMPILING_IN_LIMITED_API
    *kind   = 0;
    *length = PyUnicode_GetLength(ustring);
    *data   = (void*)ustring;
#else
    if (unlikely(__Pyx_PyUnicode_READY(ustring) < 0)) return -1;
    *kind   = PyUnicode_KIND(ustring);
    *length = PyUnicode_GET_LENGTH(ustring);
    *data   = PyUnicode_DATA(ustring);
#endif
    return 0;
}

/* pop_index */
static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix) {
    PyObject *r;
    if (unlikely(!py_ix)) return NULL;
    r = __Pyx__PyObject_PopIndex(L, py_ix);
    Py_DECREF(py_ix);
    return r;
}
static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix) {
    return __Pyx_PyObject_CallMethod1(L, __pyx_mstate_global->__pyx_n_u_pop, py_ix);
}
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix) {
    Py_ssize_t size = PyList_GET_SIZE(L);
    if (likely(size > (((PyListObject*)L)->allocated >> 1))) {
        Py_ssize_t cix = ix;
        if (cix < 0) {
            cix += size;
        }
        if (likely(__Pyx_is_valid_index(cix, size))) {
            PyObject* v = PyList_GET_ITEM(L, cix);
            __Pyx_SET_SIZE(L, Py_SIZE(L) - 1);
            size -= 1;
            memmove(&PyList_GET_ITEM(L, cix), &PyList_GET_ITEM(L, cix+1), (size_t)(size-cix)*sizeof(PyObject*));
            return v;
        }
    }
    if (py_ix == Py_None) {
        return __Pyx__PyObject_PopNewIndex(L, PyLong_FromSsize_t(ix));
    } else {
        return __Pyx__PyObject_PopIndex(L, py_ix);
    }
}
#endif

/* AllocateExtensionType */
static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t, int is_final) {
    if (is_final || likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
        allocfunc alloc_func = __Pyx_PyType_GetSlot(t, tp_alloc, allocfunc);
        return alloc_func(t, 0);
    } else {
        newfunc tp_new = __Pyx_PyType_TryGetSlot(&PyBaseObject_Type, tp_new, newfunc);
    #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
        if (!tp_new) {
            PyObject *new_str = PyUnicode_FromString("__new__");
            if (likely(new_str)) {
                PyObject *o = PyObject_CallMethodObjArgs((PyObject *)&PyBaseObject_Type, new_str, t, NULL);
                Py_DECREF(new_str);
                return o;
            } else
                return NULL;
        } else
    #endif
        return tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
    }
}

/* CallNextTpTraverse */
static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
    PyTypeObject* type = Py_TYPE(obj);
    traverseproc tp_traverse = NULL;
    while (type && __Pyx_PyType_GetSlot(type, tp_traverse, traverseproc) != current_tp_traverse)
        type = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
    while (type && (tp_traverse = __Pyx_PyType_GetSlot(type, tp_traverse, traverseproc)) == current_tp_traverse)
        type = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
    if (type && tp_traverse)
        return tp_traverse(obj, v, a);
    return 0;
}

/* CallNextTpClear */
static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
    PyTypeObject* type = Py_TYPE(obj);
    inquiry tp_clear = NULL;
    while (type && __Pyx_PyType_GetSlot(type, tp_clear, inquiry) != current_tp_clear)
        type = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
    while (type && (tp_clear = __Pyx_PyType_GetSlot(type, tp_clear, inquiry)) == current_tp_clear)
        type = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
    if (type && tp_clear)
        tp_clear(obj);
}

/* ValidateBasesTuple (used by PyType_Ready) */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
    Py_ssize_t i, n;
#if CYTHON_ASSUME_SAFE_SIZE
    n = PyTuple_GET_SIZE(bases);
#else
    n = PyTuple_Size(bases);
    if (unlikely(n < 0)) return -1;
#endif
    for (i = 1; i < n; i++)
    {
        PyTypeObject *b;
#if CYTHON_AVOID_BORROWED_REFS
        PyObject *b0 = PySequence_GetItem(bases, i);
        if (!b0) return -1;
#elif CYTHON_ASSUME_SAFE_MACROS
        PyObject *b0 = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *b0 = PyTuple_GetItem(bases, i);
        if (!b0) return -1;
#endif
        b = (PyTypeObject*) b0;
        if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
        {
            __Pyx_TypeName b_name = __Pyx_PyType_GetFullyQualifiedName(b);
            PyErr_Format(PyExc_TypeError,
                "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
            __Pyx_DECREF_TypeName(b_name);
#if CYTHON_AVOID_BORROWED_REFS
            Py_DECREF(b0);
#endif
            return -1;
        }
        if (dictoffset == 0)
        {
            Py_ssize_t b_dictoffset = 0;
#if CYTHON_USE_TYPE_SLOTS
            b_dictoffset = b->tp_dictoffset;
#else
            PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
            if (!py_b_dictoffset) goto dictoffset_return;
            b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
            Py_DECREF(py_b_dictoffset);
            if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
#endif
            if (b_dictoffset) {
                {
                    __Pyx_TypeName b_name = __Pyx_PyType_GetFullyQualifiedName(b);
                    PyErr_Format(PyExc_TypeError,
                        "extension type '%.200s' has no __dict__ slot, "
                        "but base type '" __Pyx_FMT_TYPENAME "' has: "
                        "either add 'cdef dict __dict__' to the extension type "
                        "or add '__slots__ = [...]' to the base type",
                        type_name, b_name);
                    __Pyx_DECREF_TypeName(b_name);
                }
#if !CYTHON_USE_TYPE_SLOTS
              dictoffset_return:
#endif
#if CYTHON_AVOID_BORROWED_REFS
                Py_DECREF(b0);
#endif
                return -1;
            }
        }
#if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(b0);
#endif
    }
    return 0;
}
#endif

/* PyType_Ready */
CYTHON_UNUSED static int __Pyx_PyType_HasMultipleInheritance(PyTypeObject *t) {
    while (t) {
        PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
        if (bases) {
            return 1;
        }
        t = __Pyx_PyType_GetSlot(t, tp_base, PyTypeObject*);
    }
    return 0;
}
static int __Pyx_PyType_Ready(PyTypeObject *t) {
#if CYTHON_USE_TYPE_SPECS || !CYTHON_COMPILING_IN_CPYTHON || defined(PYSTON_MAJOR_VERSION)
    (void)__Pyx_PyObject_CallMethod0;
#if CYTHON_USE_TYPE_SPECS
    (void)__Pyx_validate_bases_tuple;
#endif
    return PyType_Ready(t);
#else
    int r;
    if (!__Pyx_PyType_HasMultipleInheritance(t)) {
        return PyType_Ready(t);
    }
    PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
    if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1))
        return -1;
#if !defined(PYSTON_MAJOR_VERSION)
    {
        int gc_was_enabled;
    #if PY_VERSION_HEX >= 0x030A00b1
        gc_was_enabled = PyGC_Disable();
        (void)__Pyx_PyObject_CallMethod0;
    #else
        PyObject *ret, *py_status;
        PyObject *gc = NULL;
        #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) &&\
                !CYTHON_COMPILING_IN_GRAAL
        gc = PyImport_GetModule(__pyx_mstate_global->__pyx_kp_u_gc);
        #endif
        if (unlikely(!gc)) gc = PyImport_Import(__pyx_mstate_global->__pyx_kp_u_gc);
        if (unlikely(!gc)) return -1;
        py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_isenabled);
        if (unlikely(!py_status)) {
            Py_DECREF(gc);
            return -1;
        }
        gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
        Py_DECREF(py_status);
        if (gc_was_enabled > 0) {
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_disable);
            if (unlikely(!ret)) {
                Py_DECREF(gc);
                return -1;
            }
            Py_DECREF(ret);
        } else if (unlikely(gc_was_enabled == -1)) {
            Py_DECREF(gc);
            return -1;
        }
    #endif
        t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
#if PY_VERSION_HEX >= 0x030A0000
        t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
#endif
#else
        (void)__Pyx_PyObject_CallMethod0;
#endif
    r = PyType_Ready(t);
#if !defined(PYSTON_MAJOR_VERSION)
        t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
    #if PY_VERSION_HEX >= 0x030A00b1
        if (gc_was_enabled)
            PyGC_Enable();
    #else
        if (gc_was_enabled) {
            PyObject *tp, *v, *tb;
            PyErr_Fetch(&tp, &v, &tb);
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_enable);
            if (likely(ret || r == -1)) {
                Py_XDECREF(ret);
                PyErr_Restore(tp, v, tb);
            } else {
                Py_XDECREF(tp);
                Py_XDECREF(v);
                Py_XDECREF(tb);
                r = -1;
            }
        }
        Py_DECREF(gc);
    #endif
    }
#endif
    return r;
#endif
}

/* SetVTable */
static int __Pyx_SetVtable(PyTypeObject *type, void *vtable) {
    PyObject *ob = PyCapsule_New(vtable, 0, 0);
    if (unlikely(!ob))
        goto bad;
#if CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(PyObject_SetAttr((PyObject *) type, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0))
#else
    if (unlikely(PyDict_SetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0))
#endif
        goto bad;
    Py_DECREF(ob);
    return 0;
bad:
    Py_XDECREF(ob);
    return -1;
}

/* GetVTable (used by MergeVTables) */
static void* __Pyx_GetVtable(PyTypeObject *type) {
    void* ptr;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *ob = PyObject_GetAttr((PyObject *)type, __pyx_mstate_global->__pyx_n_u_pyx_vtable);
#else
    PyObject *ob = PyObject_GetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable);
#endif
    if (!ob)
        goto bad;
    ptr = PyCapsule_GetPointer(ob, 0);
    if (!ptr && !PyErr_Occurred())
        PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
    Py_DECREF(ob);
    return ptr;
bad:
    Py_XDECREF(ob);
    return NULL;
}

/* MergeVTables */
static int __Pyx_MergeVtables(PyTypeObject *type) {
    int i=0;
    Py_ssize_t size;
    void** base_vtables;
    __Pyx_TypeName tp_base_name = NULL;
    __Pyx_TypeName base_name = NULL;
    void* unknown = (void*)-1;
    PyObject* bases = __Pyx_PyType_GetSlot(type, tp_bases, PyObject*);
    int base_depth = 0;
    {
        PyTypeObject* base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
        while (base) {
            base_depth += 1;
            base = __Pyx_PyType_GetSlot(base, tp_base, PyTypeObject*);
        }
    }
    base_vtables = (void**) PyMem_Malloc(sizeof(void*) * (size_t)(base_depth + 1));
    base_vtables[0] = unknown;
#if CYTHON_COMPILING_IN_LIMITED_API
    size = PyTuple_Size(bases);
    if (size < 0) goto other_failure;
#else
    size = PyTuple_GET_SIZE(bases);
#endif
    for (i = 1; i < size; i++) {
        PyObject *basei;
        void* base_vtable;
#if CYTHON_AVOID_BORROWED_REFS
        basei = PySequence_GetItem(bases, i);
        if (unlikely(!basei)) goto other_failure;
#elif !CYTHON_ASSUME_SAFE_MACROS
        basei = PyTuple_GetItem(bases, i);
        if (unlikely(!basei)) goto other_failure;
#else
        basei = PyTuple_GET_ITEM(bases, i);
#endif
        base_vtable = __Pyx_GetVtable((PyTypeObject*)basei);
#if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(basei);
#endif
        if (base_vtable != NULL) {
            int j;
            PyTypeObject* base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
            for (j = 0; j < base_depth; j++) {
                if (base_vtables[j] == unknown) {
                    base_vtables[j] = __Pyx_GetVtable(base);
                    base_vtables[j + 1] = unknown;
                }
                if (base_vtables[j] == base_vtable) {
                    break;
                } else if (base_vtables[j] == NULL) {
                    goto bad;
                }
                base = __Pyx_PyType_GetSlot(base, tp_base, PyTypeObject*);
            }
        }
    }
    PyErr_Clear();
    PyMem_Free(base_vtables);
    return 0;
bad:
    {
        PyTypeObject* basei = NULL;
        PyTypeObject* tp_base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
        tp_base_name = __Pyx_PyType_GetFullyQualifiedName(tp_base);
#if CYTHON_AVOID_BORROWED_REFS
        basei = (PyTypeObject*)PySequence_GetItem(bases, i);
        if (unlikely(!basei)) goto really_bad;
#elif !CYTHON_ASSUME_SAFE_MACROS
        basei = (PyTypeObject*)PyTuple_GetItem(bases, i);
        if (unlikely(!basei)) goto really_bad;
#else
        basei = (PyTypeObject*)PyTuple_GET_ITEM(bases, i);
#endif
        base_name = __Pyx_PyType_GetFullyQualifiedName(basei);
#if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(basei);
#endif
    }
    PyErr_Format(PyExc_TypeError,
        "multiple bases have vtable conflict: '" __Pyx_FMT_TYPENAME "' and '" __Pyx_FMT_TYPENAME "'", tp_base_name, base_name);
#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
really_bad: // bad has failed!
#endif
    __Pyx_DECREF_TypeName(tp_base_name);
    __Pyx_DECREF_TypeName(base_name);
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
other_failure:
#endif
    PyMem_Free(base_vtables);
    return -1;
}

/* TypeImport */
#ifndef __PYX_HAVE_RT_ImportType_3_2_4
#define __PYX_HAVE_RT_ImportType_3_2_4
static PyTypeObject *__Pyx_ImportType_3_2_4(PyObject *module, const char *module_name, const char *class_name,
    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_2_4 check_size)
{
    PyObject *result = 0;
    Py_ssize_t basicsize;
    Py_ssize_t itemsize;
#if defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API)
    PyObject *py_basicsize;
    PyObject *py_itemsize;
#endif
    result = PyObject_GetAttrString(module, class_name);
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s.%.200s is not a type object",
            module_name, class_name);
        goto bad;
    }
#if !( defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API) )
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
    itemsize = ((PyTypeObject *)result)->tp_itemsize;
#else
    if (size == 0) {
        return (PyTypeObject *)result;
    }
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
    if (!py_itemsize)
        goto bad;
    itemsize = PyLong_AsSsize_t(py_itemsize);
    Py_DECREF(py_itemsize);
    py_itemsize = 0;
    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if (itemsize) {
        if (size % alignment) {
            alignment = size % alignment;
        }
        if (itemsize < (Py_ssize_t)alignment)
            itemsize = (Py_ssize_t)alignment;
    }
    if ((size_t)(basicsize + itemsize) < size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize+itemsize);
        goto bad;
    }
    if (check_size == __Pyx_ImportType_CheckSize_Error_3_2_4 &&
            ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd-%zd from PyObject",
            module_name, class_name, size, basicsize, basicsize+itemsize);
        goto bad;
    }
    else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_2_4 && (size_t)basicsize > size) {
        if (PyErr_WarnFormat(NULL, 0,
                "%.200s.%.200s size changed, may indicate binary incompatibility. "
                "Expected %zd from C header, got %zd from PyObject",
                module_name, class_name, size, basicsize) < 0) {
            goto bad;
        }
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(result);
    return NULL;
}
#endif

/* PxdImportShared (used by VoidPtrImport) */
#ifndef __PYX_HAVE_RT_ImportFromPxd_3_2_4
#define __PYX_HAVE_RT_ImportFromPxd_3_2_4
static int __Pyx_ImportFromPxd_3_2_4(PyObject *module, const char *name, void **p, const char *sig, const char *what) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    d = PyObject_GetAttrString(module, "__pyx_capi__");
    if (!d)
        goto bad;
#if (defined(Py_LIMITED_API) && Py_LIMITED_API >= 0x030d0000) || (!defined(Py_LIMITED_API) && PY_VERSION_HEX >= 0x030d0000)
    PyDict_GetItemStringRef(d, name, &cobj);
#else
    cobj = PyDict_GetItemString(d, name);
    Py_XINCREF(cobj);
#endif
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%.200s does not export expected C %.8s %.200s",
                PyModule_GetName(module), what, name);
        goto bad;
    }
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C %.8s %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             what, PyModule_GetName(module), name, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    *p = PyCapsule_GetPointer(cobj, sig);
    if (!(*p))
        goto bad;
    Py_DECREF(d);
    Py_DECREF(cobj);
    return 0;
bad:
    Py_XDECREF(d);
    Py_XDECREF(cobj);
    return -1;
}
#endif

/* VoidPtrImport */
#ifndef __PYX_HAVE_RT_ImportVoidPtr_3_2_4
#define __PYX_HAVE_RT_ImportVoidPtr_3_2_4
static int __Pyx_ImportVoidPtr_3_2_4(PyObject *module, const char *name, void **p, const char *sig) {
    return __Pyx_ImportFromPxd_3_2_4(module, name, p, sig, "variable");
}
#endif

/* ListPack */
static PyObject *__Pyx_PyList_Pack(Py_ssize_t n, ...) {
    va_list va;
    PyObject *l = PyList_New(n);
    va_start(va, n);
    if (unlikely(!l)) goto end;
    for (Py_ssize_t i=0; i<n; ++i) {
        PyObject *arg = va_arg(va, PyObject*);
        Py_INCREF(arg);
        if (__Pyx_PyList_SET_ITEM(l, i, arg) != (0)) {
            Py_CLEAR(l);
            goto end;
        }
    }
    end:
    va_end(va);
    return l;
}

/* CalculateMetaclass (used by Py3ClassCreate) */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases;
#if CYTHON_ASSUME_SAFE_SIZE
    nbases = PyTuple_GET_SIZE(bases);
#else
    nbases = PyTuple_Size(bases);
    if (nbases < 0) return NULL;
#endif
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
#if CYTHON_ASSUME_SAFE_MACROS
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *tmp = PyTuple_GetItem(bases, i);
        if (!tmp) return NULL;
#endif
        tmptype = Py_TYPE(tmp);
        if (!metaclass) {
            metaclass = tmptype;
            continue;
        }
        if (PyType_IsSubtype(metaclass, tmptype))
            continue;
        if (PyType_IsSubtype(tmptype, metaclass)) {
            metaclass = tmptype;
            continue;
        }
        PyErr_SetString(PyExc_TypeError,
                        "metaclass conflict: "
                        "the metaclass of a derived class "
                        "must be a (non-strict) subclass "
                        "of the metaclasses of all its bases");
        return NULL;
    }
    if (!metaclass) {
        metaclass = &PyType_Type;
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

/* Py3ClassCreate */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
                                           PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
    PyObject *ns;
    if (metaclass) {
        PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_mstate_global->__pyx_n_u_prepare);
        if (prep) {
            PyObject *pargs[3] = {NULL, name, bases};
            ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
            Py_DECREF(prep);
        } else {
            if (unlikely(PyErr_Occurred()))
                return NULL;
            ns = PyDict_New();
        }
    } else {
        ns = PyDict_New();
    }
    if (unlikely(!ns))
        return NULL;
    if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_module, modname) < 0)) goto bad;
    if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_qualname, qualname) < 0)) goto bad;
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_doc_2, doc) < 0)) goto bad;
    return ns;
bad:
    Py_DECREF(ns);
    return NULL;
}
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
                                      PyObject *dict, PyObject *mkw,
                                      int calculate_metaclass, int allow_py2_metaclass) {
    PyObject *result;
    PyObject *owned_metaclass = NULL;
    PyObject *margs[4] = {NULL, name, bases, dict};
    if (allow_py2_metaclass) {
        owned_metaclass = PyObject_GetItem(dict, __pyx_mstate_global->__pyx_n_u_metaclass);
        if (owned_metaclass) {
            metaclass = owned_metaclass;
        } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
            PyErr_Clear();
        } else {
            return NULL;
        }
    }
    if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
        metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
        Py_XDECREF(owned_metaclass);
        if (unlikely(!metaclass))
            return NULL;
        owned_metaclass = metaclass;
    }
    result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
    Py_XDECREF(owned_metaclass);
    return result;
}

/* GetNameInClass */
static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name) {
    PyObject *result;
    PyObject *dict;
    assert(PyType_Check(nmspace));
#if CYTHON_USE_TYPE_SLOTS
    dict = ((PyTypeObject*)nmspace)->tp_dict;
    Py_XINCREF(dict);
#else
    dict = PyObject_GetAttr(nmspace, __pyx_mstate_global->__pyx_n_u_dict_2);
#endif
    if (likely(dict)) {
        result = PyObject_GetItem(dict, name);
        Py_DECREF(dict);
        if (result) {
            return result;
        }
    }
    PyErr_Clear();
    __Pyx_GetModuleGlobalNameUncached(result, name);
    return result;
}

/* ClassMethod */
static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {
#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM <= 0x05080000
    if (PyObject_TypeCheck(method, &PyWrapperDescr_Type)) {
        return PyClassMethod_New(method);
    }
#else
#if CYTHON_COMPILING_IN_PYPY
    if (PyMethodDescr_Check(method))
#else
    if (__Pyx_TypeCheck(method, &PyMethodDescr_Type))
#endif
    {
#if CYTHON_COMPILING_IN_LIMITED_API
        return PyErr_Format(
            PyExc_SystemError,
            "Cython cannot yet handle classmethod on a MethodDescriptorType (%S) in limited API mode. "
            "This is most likely a classmethod in a cdef class method with binding=False. "
            "Try setting 'binding' to True.",
            method);
#elif CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
        PyTypeObject *d_type = GraalPyDescrObject_GetType(method);
        return PyDescr_NewClassMethod(d_type, GraalPyMethodDescrObject_GetMethod(method));
#elif CYTHON_COMPILING_IN_GRAAL
        PyTypeObject *d_type = PyDescrObject_GetType(method);
        return PyDescr_NewClassMethod(d_type, PyMethodDescrObject_GetMethod(method));
#else
        PyMethodDescrObject *descr = (PyMethodDescrObject *)method;
        PyTypeObject *d_type = descr->d_common.d_type;
        return PyDescr_NewClassMethod(d_type, descr->d_method);
#endif
    }
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
    else if (PyMethod_Check(method)) {
        return PyClassMethod_New(PyMethod_GET_FUNCTION(method));
    }
    else {
        return PyClassMethod_New(method);
    }
#else
    {
        PyObject *func=NULL;
        PyObject *builtins, *classmethod, *classmethod_str, *result=NULL;
        if (__Pyx_TypeCheck(method, __pyx_mstate_global->__Pyx_CachedMethodType)) {
            func = PyObject_GetAttrString(method, "__func__");
            if (!func) goto bad;
        } else {
            func = method;
            Py_INCREF(func);
        }
        builtins = PyEval_GetBuiltins(); // borrowed
        if (unlikely(!builtins)) goto bad;
        classmethod_str = PyUnicode_FromString("classmethod");
        if (unlikely(!classmethod_str)) goto bad;
        classmethod = PyObject_GetItem(builtins, classmethod_str);
        Py_DECREF(classmethod_str);
        if (unlikely(!classmethod)) goto bad;
        result = PyObject_CallFunctionObjArgs(classmethod, func, NULL);
        Py_DECREF(classmethod);
        bad:
        Py_XDECREF(func);
        return result;
    }
#endif
}

/* Py3UpdateBases */
static PyObject*
__Pyx_PEP560_update_bases(PyObject *bases)
{
    Py_ssize_t i, j, size_bases;
    PyObject *base = NULL, *meth, *new_base, *result, *new_bases = NULL;
#if CYTHON_ASSUME_SAFE_SIZE
    size_bases = PyTuple_GET_SIZE(bases);
#else
    size_bases = PyTuple_Size(bases);
    if (size_bases < 0) return NULL;
#endif
    for (i = 0; i < size_bases; i++) {
#if CYTHON_AVOID_BORROWED_REFS
        Py_CLEAR(base);
#endif
#if CYTHON_ASSUME_SAFE_MACROS
        base = PyTuple_GET_ITEM(bases, i);
#else
        base = PyTuple_GetItem(bases, i);
        if (!base) goto error;
#endif
#if CYTHON_AVOID_BORROWED_REFS
        Py_INCREF(base);
#endif
        if (PyType_Check(base)) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_mstate_global->__pyx_n_u_mro_entries);
        if (!meth && PyErr_Occurred()) {
            goto error;
        }
        if (!meth) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        new_base = __Pyx_PyObject_CallOneArg(meth, bases);
        Py_DECREF(meth);
        if (!new_base) {
            goto error;
        }
        if (!PyTuple_Check(new_base)) {
            PyErr_SetString(PyExc_TypeError,
                            "__mro_entries__ must return a tuple");
            Py_DECREF(new_base);
            goto error;
        }
        if (!new_bases) {
            if (!(new_bases = PyList_New(i))) {
                goto error;
            }
            for (j = 0; j < i; j++) {
                PyObject *base_from_list;
#if CYTHON_ASSUME_SAFE_MACROS
                base_from_list = PyTuple_GET_ITEM(bases, j);
                PyList_SET_ITEM(new_bases, j, base_from_list);
                Py_INCREF(base_from_list);
#else
                base_from_list = PyTuple_GetItem(bases, j);
                if (!base_from_list) goto error;
                Py_INCREF(base_from_list);
                if (PyList_SetItem(new_bases, j, base_from_list) < 0) goto error;
#endif
            }
        }
#if CYTHON_ASSUME_SAFE_SIZE
        j = PyList_GET_SIZE(new_bases);
#else
        j = PyList_Size(new_bases);
        if (j < 0) goto error;
#endif
        if (PyList_SetSlice(new_bases, j, j, new_base) < 0) {
            goto error;
        }
        Py_DECREF(new_base);
    }
    if (!new_bases) {
        Py_INCREF(bases);
        return bases;
    }
    result = PyList_AsTuple(new_bases);
    Py_DECREF(new_bases);
#if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(base);
#endif
    return result;
error:
    Py_XDECREF(new_bases);
#if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(base);
#endif
    return NULL;
}

/* CyFunctionClassCell */
static int __Pyx_CyFunction_InitClassCell(PyObject *cyfunctions, PyObject *classobj) {
    Py_ssize_t i, count = __Pyx_PyList_GET_SIZE(cyfunctions);
    #if !CYTHON_ASSUME_SAFE_SIZE
    if (unlikely(count < 0)) return -1;
    #endif
    for (i = 0; i < count; i++) {
        __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *)
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && !CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
            PyList_GET_ITEM(cyfunctions, i);
#else
            __Pyx_PySequence_ITEM(cyfunctions, i);
        if (unlikely(!m))
            return -1;
#endif
        __Pyx_CyFunction_SetClassObj(m, classobj);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && !CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)
        Py_DECREF((PyObject*)m);
#endif
    }
    return 0;
}

/* CLineInTraceback (used by AddTraceback) */
#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
#define __Pyx_PyProbablyModule_GetDict(o) __Pyx_XNewRef(PyModule_GetDict(o))
#elif !CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyProbablyModule_GetDict(o) PyObject_GenericGetDict(o, NULL);
#else
PyObject* __Pyx_PyProbablyModule_GetDict(PyObject *o) {
    PyObject **dict_ptr = _PyObject_GetDictPtr(o);
    return dict_ptr ? __Pyx_XNewRef(*dict_ptr) : NULL;
}
#endif
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
    PyObject *use_cline = NULL;
    PyObject *ptype, *pvalue, *ptraceback;
    PyObject *cython_runtime_dict;
    CYTHON_MAYBE_UNUSED_VAR(tstate);
    if (unlikely(!__pyx_mstate_global->__pyx_cython_runtime)) {
        return c_line;
    }
    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
    cython_runtime_dict = __Pyx_PyProbablyModule_GetDict(__pyx_mstate_global->__pyx_cython_runtime);
    if (likely(cython_runtime_dict)) {
        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            use_cline, cython_runtime_dict,
            __Pyx_PyDict_SetDefault(cython_runtime_dict, __pyx_mstate_global->__pyx_n_u_cline_in_traceback, Py_False))
    }
    if (use_cline == NULL || use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
        c_line = 0;
    }
    Py_XDECREF(use_cline);
    Py_XDECREF(cython_runtime_dict);
    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
    return c_line;
}
#endif

/* CodeObjectCache (used by AddTraceback) */
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = start + (end - start) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static __Pyx_CachedCodeObjectType *__pyx__find_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line) {
    __Pyx_CachedCodeObjectType* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!code_cache->entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
    if (unlikely(pos >= code_cache->count) || unlikely(code_cache->entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = code_cache->entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line) {
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
    (void)__pyx__find_code_object;
    return NULL; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just miss.
#else
    struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_nonatomic_int_type old_count = __pyx_atomic_incr_acq_rel(&code_cache->accessor_count);
    if (old_count < 0) {
        __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
        return NULL;
    }
#endif
    __Pyx_CachedCodeObjectType *result = __pyx__find_code_object(code_cache, code_line);
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
#endif
    return result;
#endif
}
static void __pyx__insert_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line, __Pyx_CachedCodeObjectType* code_object)
{
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = code_cache->entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            code_cache->entries = entries;
            code_cache->max_count = 64;
            code_cache->count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
    if ((pos < code_cache->count) && unlikely(code_cache->entries[pos].code_line == code_line)) {
        __Pyx_CachedCodeObjectType* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_INCREF(code_object);
        Py_DECREF(tmp);
        return;
    }
    if (code_cache->count == code_cache->max_count) {
        int new_max = code_cache->max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            code_cache->entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        code_cache->entries = entries;
        code_cache->max_count = new_max;
    }
    for (i=code_cache->count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    code_cache->count++;
    Py_INCREF(code_object);
}
static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object) {
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
    (void)__pyx__insert_code_object;
    return; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just fail.
#else
    struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_nonatomic_int_type expected = 0;
    if (!__pyx_atomic_int_cmp_exchange(&code_cache->accessor_count, &expected, INT_MIN)) {
        return;
    }
#endif
    __pyx__insert_code_object(code_cache, code_line, code_object);
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_atomic_sub(&code_cache->accessor_count, INT_MIN);
#endif
#endif
}

/* AddTraceback */
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
                                                       PyObject *firstlineno, PyObject *name) {
    PyObject *replace = NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
    replace = PyObject_GetAttrString(code, "replace");
    if (likely(replace)) {
        PyObject *result = PyObject_Call(replace, __pyx_mstate_global->__pyx_empty_tuple, scratch_dict);
        Py_DECREF(replace);
        return result;
    }
    PyErr_Clear();
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
    PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
    PyObject *exc_type, *exc_value, *exc_traceback;
    int success = 0;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
    }
    PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
    code_object = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!code_object) {
        code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
        if (unlikely(!code_object)) goto bad;
        py_py_line = PyLong_FromLong(py_line);
        if (unlikely(!py_py_line)) goto bad;
        if (c_line) {
            py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        } else {
            py_funcname = PyUnicode_FromString(funcname);
        }
        if (unlikely(!py_funcname)) goto bad;
        dict = PyDict_New();
        if (unlikely(!dict)) goto bad;
        {
            PyObject *old_code_object = code_object;
            code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
            Py_DECREF(old_code_object);
        }
        if (unlikely(!code_object)) goto bad;
        __pyx_insert_code_object(c_line ? -c_line : py_line, code_object);
    } else {
        dict = PyDict_New();
    }
    getframe = PySys_GetObject("_getframe");
    if (unlikely(!getframe)) goto bad;
    if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
    frame = PyEval_EvalCode(code_object, dict, dict);
    if (unlikely(!frame) || frame == Py_None) goto bad;
    success = 1;
  bad:
    PyErr_Restore(exc_type, exc_value, exc_traceback);
    Py_XDECREF(code_object);
    Py_XDECREF(py_py_line);
    Py_XDECREF(py_funcname);
    Py_XDECREF(dict);
    Py_XDECREF(replace);
    if (success) {
        PyTraceBack_Here(
            (struct _frame*)frame);
    }
    Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = NULL;
    PyObject *py_funcname = NULL;
    if (c_line) {
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        funcname = PyUnicode_AsUTF8(py_funcname);
        if (!funcname) goto bad;
    }
    py_code = PyCode_NewEmpty(filename, funcname, py_line);
    Py_XDECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_funcname);
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject *ptype, *pvalue, *ptraceback;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(tstate, c_line);
    }
    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!py_code) {
        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) {
            /* If the code object creation fails, then we should clear the
               fetched exception references and propagate the new exception */
            Py_XDECREF(ptype);
            Py_XDECREF(pvalue);
            Py_XDECREF(ptraceback);
            goto bad;
        }
        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __pyx_mstate_global->__pyx_d,    /*PyObject *globals,*/
        0                  /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}
#endif

/* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
    {\
        func_type value = func_value;\
        if (sizeof(target_type) < sizeof(func_type)) {\
            if (unlikely(value != (func_type) (target_type) value)) {\
                func_type zero = 0;\
                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                    return (target_type) -1;\
                if (is_unsigned && unlikely(value < zero))\
                    goto raise_neg_overflow;\
                else\
                    goto raise_overflow;\
            }\
        }\
        return (target_type) value;\
    }

/* UnicodeAsUCS4 */
static void __Pyx_PyUnicode_AsPy_UCS4_error(Py_ssize_t length) {
    if (likely(length >= 0)) {
        PyErr_Format(PyExc_ValueError,
                     "only single character unicode strings can be converted to Py_UCS4, "
                     "got length %" CYTHON_FORMAT_SSIZE_T "d", length);
    }
}
static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject* x) {
    Py_ssize_t length = __Pyx_PyUnicode_GET_LENGTH(x);
    if (unlikely(length != 1)) {
        __Pyx_PyUnicode_AsPy_UCS4_error(length);
        return (Py_UCS4)-1;
    }
    return __Pyx_PyUnicode_READ_CHAR(x, 0);
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(long) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        int val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyLong_As_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) {
                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) {
                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) {
                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (int) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(int) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
        } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(int) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
        } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
        }
    }
    {
        int val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (int) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (int) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (int) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (int) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((int) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((int) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (int) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int");
    return (int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int");
    return (int) -1;
}

/* CIntFromPy */
static CYTHON_INLINE size_t __Pyx_PyLong_As_size_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyLong_As_size_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 2 * PyLong_SHIFT)) {
                            return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 3 * PyLong_SHIFT)) {
                            return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) >= 4 * PyLong_SHIFT)) {
                            return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (size_t) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(size_t) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
        } else if ((sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                            return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                            return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                            return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(size_t) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
        } else if ((sizeof(size_t) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
        }
    }
    {
        size_t val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (size_t) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (size_t) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (size_t) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (size_t) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(size_t) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((size_t) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(size_t) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((size_t) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((size_t) 1) << (sizeof(size_t) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (size_t) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to size_t");
    return (size_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to size_t");
    return (size_t) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        unsigned int val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (unsigned int) -1;
        val = __Pyx_PyLong_As_unsigned_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT)) {
                            return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT)) {
                            return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT)) {
                            return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (unsigned int) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(unsigned int) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x))
        } else if ((sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                            return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(unsigned int) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x))
        } else if ((sizeof(unsigned int) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x))
        }
    }
    {
        unsigned int val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (unsigned int) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (unsigned int) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (unsigned int) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (unsigned int) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(unsigned int) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((unsigned int) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(unsigned int) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((unsigned int) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((unsigned int) 1) << (sizeof(unsigned int) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (unsigned int) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned int");
    return (unsigned int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned int");
    return (unsigned int) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_unsigned_int(unsigned int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned int) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned int) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_char(char value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const char neg_one = (char) -1, const_zero = (char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(char) < sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(char) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#if !CYTHON_COMPILING_IN_PYPY
        } else if (sizeof(char) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(char) <= sizeof(long)) {
            return PyLong_FromLong((long) value);
        } else if (sizeof(char) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
        }
    }
    {
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
        if (is_unsigned) {
            return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
        } else {
            return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
        }
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        int one = 1; int little = (int)*(unsigned char *)&one;
        return _PyLong_FromByteArray(bytes, sizeof(char),
                                     little, !is_unsigned);
#else
        int one = 1; int little = (int)*(unsigned char *)&one;
        PyObject *from_bytes, *result = NULL, *kwds = NULL;
        PyObject *py_bytes = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(char));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        {
            PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
            if (!is_unsigned) {
                kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                if (!kwds) goto limited_bad;
                if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
            }
            result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
        }
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* ObjectAsUCS4 */
static void __Pyx__PyObject_AsPy_UCS4_raise_error(long ival) {
   if (ival < 0) {
       if (!PyErr_Occurred())
           PyErr_SetString(PyExc_OverflowError,
                           "cannot convert negative value to Py_UCS4");
   } else {
       PyErr_SetString(PyExc_OverflowError,
                       "value too large to convert to Py_UCS4");
   }
}
static Py_UCS4 __Pyx__PyObject_AsPy_UCS4(PyObject* x) {
   long ival;
   ival = __Pyx_PyLong_As_long(x);
   if (unlikely(!__Pyx_is_valid_index(ival, 1114111 + 1))) {
       __Pyx__PyObject_AsPy_UCS4_raise_error(ival);
       return (Py_UCS4)-1;
   }
   return (Py_UCS4)ival;
}

/* FormatTypeName */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
static __Pyx_TypeName
__Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp)
{
    PyObject *module = NULL, *name = NULL, *result = NULL;
    #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
    name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                               __pyx_mstate_global->__pyx_n_u_qualname);
    #else
    name = PyType_GetQualName(tp);
    #endif
    if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) goto bad;
    module = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                               __pyx_mstate_global->__pyx_n_u_module);
    if (unlikely(module == NULL) || unlikely(!PyUnicode_Check(module))) goto bad;
    if (PyUnicode_CompareWithASCIIString(module, "builtins") == 0) {
        result = name;
        name = NULL;
        goto done;
    }
    result = PyUnicode_FromFormat("%U.%U", module, name);
    if (unlikely(result == NULL)) goto bad;
  done:
    Py_XDECREF(name);
    Py_XDECREF(module);
    return result;
  bad:
    PyErr_Clear();
    if (name) {
        result = name;
        name = NULL;
    } else {
        result = __Pyx_NewRef(__pyx_mstate_global->__pyx_kp_u__81);
    }
    goto done;
}
#endif

/* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!PyLong_Check(x))) {
        long val;
        PyObject *tmp = __Pyx_PyNumber_Long(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyLong_As_long(tmp);
        Py_DECREF(tmp);
        return val;
    }
    if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (unlikely(__Pyx_PyLong_IsNeg(x))) {
            goto raise_neg_overflow;
        } else if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_DigitCount(x)) {
                case 2:
                    if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) {
                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) {
                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) {
                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
            }
        }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
        if (unlikely(Py_SIZE(x) < 0)) {
            goto raise_neg_overflow;
        }
#else
        {
            int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
            if (unlikely(result < 0))
                return (long) -1;
            if (unlikely(result == 1))
                goto raise_neg_overflow;
        }
#endif
        if ((sizeof(long) <= sizeof(unsigned long))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
        } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
        }
    } else {
#if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsCompact(x)) {
            __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
        } else {
            const digit* digits = __Pyx_PyLong_Digits(x);
            assert(__Pyx_PyLong_DigitCount(x) > 1);
            switch (__Pyx_PyLong_SignedDigitCount(x)) {
                case -2:
                    if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                        if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
            }
        }
#endif
        if ((sizeof(long) <= sizeof(long))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
        } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) {
            __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
        }
    }
    {
        long val;
        int ret = -1;
#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
            x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
        if (unlikely(bytes_copied == -1)) {
        } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
            goto raise_overflow;
        } else {
            ret = 0;
        }
#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
        int one = 1; int is_little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        ret = _PyLong_AsByteArray((PyLongObject *)x,
                                    bytes, sizeof(val),
                                    is_little, !is_unsigned);
#else
        PyObject *v;
        PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
        int bits, remaining_bits, is_negative = 0;
        int chunk_size = (sizeof(long) < 8) ? 30 : 62;
        if (likely(PyLong_CheckExact(x))) {
            v = __Pyx_NewRef(x);
        } else {
            v = PyNumber_Long(x);
            if (unlikely(!v)) return (long) -1;
            assert(PyLong_CheckExact(v));
        }
        {
            int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
            if (unlikely(result < 0)) {
                Py_DECREF(v);
                return (long) -1;
            }
            is_negative = result == 1;
        }
        if (is_unsigned && unlikely(is_negative)) {
            Py_DECREF(v);
            goto raise_neg_overflow;
        } else if (is_negative) {
            stepval = PyNumber_Invert(v);
            Py_DECREF(v);
            if (unlikely(!stepval))
                return (long) -1;
        } else {
            stepval = v;
        }
        v = NULL;
        val = (long) 0;
        mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
        shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
        for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) {
            PyObject *tmp, *digit;
            long idigit;
            digit = PyNumber_And(stepval, mask);
            if (unlikely(!digit)) goto done;
            idigit = PyLong_AsLong(digit);
            Py_DECREF(digit);
            if (unlikely(idigit < 0)) goto done;
            val |= ((long) idigit) << bits;
            tmp = PyNumber_Rshift(stepval, shift);
            if (unlikely(!tmp)) goto done;
            Py_DECREF(stepval); stepval = tmp;
        }
        Py_DECREF(shift); shift = NULL;
        Py_DECREF(mask); mask = NULL;
        {
            long idigit = PyLong_AsLong(stepval);
            if (unlikely(idigit < 0)) goto done;
            remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
            if (unlikely(idigit >= (1L << remaining_bits)))
                goto raise_overflow;
            val |= ((long) idigit) << bits;
        }
        if (!is_unsigned) {
            if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1))))
                goto raise_overflow;
            if (is_negative)
                val = ~val;
        }
        ret = 0;
    done:
        Py_XDECREF(shift);
        Py_XDECREF(mask);
        Py_XDECREF(stepval);
#endif
        if (unlikely(ret))
            return (long) -1;
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to long");
    return (long) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to long");
    return (long) -1;
}

/* GetRuntimeVersion */
#if __PYX_LIMITED_VERSION_HEX < 0x030b0000
void __Pyx_init_runtime_version(void) {
    if (__Pyx_cached_runtime_version == 0) {
        const char* rt_version = Py_GetVersion();
        unsigned long version = 0;
        unsigned long factor = 0x01000000UL;
        unsigned int digit = 0;
        int i = 0;
        while (factor) {
            while ('0' <= rt_version[i] && rt_version[i] <= '9') {
                digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
                ++i;
            }
            version += factor * digit;
            if (rt_version[i] != '.')
                break;
            digit = 0;
            factor >>= 8;
            ++i;
        }
        __Pyx_cached_runtime_version = version;
    }
}
#endif
static unsigned long __Pyx_get_runtime_version(void) {
#if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
    return Py_Version & ~0xFFUL;
#else
    return __Pyx_cached_runtime_version;
#endif
}

/* IterNextPlain (used by CoroutineBase) */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject *__Pyx_GetBuiltinNext_LimitedAPI(void) {
    if (unlikely(!__pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache))
        __pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache = __Pyx_GetBuiltinName(__pyx_mstate_global->__pyx_n_u_next_2);
    return __pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache;
}
#endif
static CYTHON_INLINE PyObject *__Pyx_PyIter_Next_Plain(PyObject *iterator) {
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
    PyObject *result;
    PyObject *next = __Pyx_GetBuiltinNext_LimitedAPI();
    if (unlikely(!next)) return NULL;
    result = PyObject_CallFunctionObjArgs(next, iterator, NULL);
    return result;
#else
    (void)__Pyx_GetBuiltinName; // only for early limited API
    iternextfunc iternext = __Pyx_PyObject_GetIterNextFunc(iterator);
    assert(iternext);
    return iternext(iterator);
#endif
}

/* ReturnWithStopIteration (used by CoroutineBase) */
static void __Pyx__ReturnWithStopIteration(PyObject* value, int async);
static CYTHON_INLINE void __Pyx_ReturnWithStopIteration(PyObject* value, int async, int iternext) {
    if (value == Py_None) {
        if (async || !iternext)
            PyErr_SetNone(async ? PyExc_StopAsyncIteration : PyExc_StopIteration);
        return;
    }
    __Pyx__ReturnWithStopIteration(value, async);
}
static void __Pyx__ReturnWithStopIteration(PyObject* value, int async) {
#if CYTHON_COMPILING_IN_CPYTHON
    __Pyx_PyThreadState_declare
#endif
    PyObject *exc;
    PyObject *exc_type = async ? PyExc_StopAsyncIteration : PyExc_StopIteration;
#if CYTHON_COMPILING_IN_CPYTHON
    if ((PY_VERSION_HEX >= (0x030C00A6)) || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) {
        if (PY_VERSION_HEX >= (0x030e00A1)) {
            exc = __Pyx_PyObject_CallOneArg(exc_type, value);
        } else {
            PyObject *args_tuple = PyTuple_New(1);
            if (unlikely(!args_tuple)) return;
            Py_INCREF(value);
            PyTuple_SET_ITEM(args_tuple, 0, value);
            exc = PyObject_Call(exc_type, args_tuple, NULL);
            Py_DECREF(args_tuple);
        }
        if (unlikely(!exc)) return;
    } else {
        Py_INCREF(value);
        exc = value;
    }
    #if CYTHON_FAST_THREAD_STATE
    __Pyx_PyThreadState_assign
    #if CYTHON_USE_EXC_INFO_STACK
    if (!__pyx_tstate->exc_info->exc_value)
    #else
    if (!__pyx_tstate->exc_type)
    #endif
    {
        Py_INCREF(exc_type);
        __Pyx_ErrRestore(exc_type, exc, NULL);
        return;
    }
    #endif
#else
    exc = __Pyx_PyObject_CallOneArg(exc_type, value);
    if (unlikely(!exc)) return;
#endif
    PyErr_SetObject(exc_type, exc);
    Py_DECREF(exc);
}

/* CoroutineBase (used by Generator) */
#if !CYTHON_COMPILING_IN_LIMITED_API
#include <frameobject.h>
#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION)
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
#endif // CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE void
__Pyx_Coroutine_Undelegate(__pyx_CoroutineObject *gen) {
#if CYTHON_USE_AM_SEND
    gen->yieldfrom_am_send = NULL;
#endif
    Py_CLEAR(gen->yieldfrom);
}
static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) {
    PyObject *et, *ev, *tb;
    PyObject *value = NULL;
    CYTHON_UNUSED_VAR(__pyx_tstate);
    __Pyx_ErrFetch(&et, &ev, &tb);
    if (!et) {
        Py_XDECREF(tb);
        Py_XDECREF(ev);
        Py_INCREF(Py_None);
        *pvalue = Py_None;
        return 0;
    }
    if (likely(et == PyExc_StopIteration)) {
        if (!ev) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
        else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) {
            #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL
            value = PyObject_GetAttr(ev, __pyx_mstate_global->__pyx_n_u_value);
            if (unlikely(!value)) goto limited_api_failure;
            #else
            value = ((PyStopIterationObject *)ev)->value;
            Py_INCREF(value);
            #endif
            Py_DECREF(ev);
        }
        else if (unlikely(PyTuple_Check(ev))) {
            Py_ssize_t tuple_size = __Pyx_PyTuple_GET_SIZE(ev);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely(tuple_size < 0)) {
                Py_XDECREF(tb);
                Py_DECREF(ev);
                Py_DECREF(et);
                return -1;
            }
            #endif
            if (tuple_size >= 1) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                value = PyTuple_GET_ITEM(ev, 0);
                Py_INCREF(value);
#elif CYTHON_ASSUME_SAFE_MACROS
                value = PySequence_ITEM(ev, 0);
#else
                value = PySequence_GetItem(ev, 0);
                if (!value) goto limited_api_failure;
#endif
            } else {
                Py_INCREF(Py_None);
                value = Py_None;
            }
            Py_DECREF(ev);
        }
        else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
            value = ev;
        }
        if (likely(value)) {
            Py_XDECREF(tb);
            Py_DECREF(et);
            *pvalue = value;
            return 0;
        }
    } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) {
        __Pyx_ErrRestore(et, ev, tb);
        return -1;
    }
    PyErr_NormalizeException(&et, &ev, &tb);
    if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) {
        __Pyx_ErrRestore(et, ev, tb);
        return -1;
    }
    Py_XDECREF(tb);
    Py_DECREF(et);
#if CYTHON_COMPILING_IN_LIMITED_API
    value = PyObject_GetAttr(ev, __pyx_mstate_global->__pyx_n_u_value);
#else
    value = ((PyStopIterationObject *)ev)->value;
    Py_INCREF(value);
#endif
    Py_DECREF(ev);
#if CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(!value)) return -1;
#endif
    *pvalue = value;
    return 0;
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL || !CYTHON_ASSUME_SAFE_MACROS
  limited_api_failure:
    Py_XDECREF(et);
    Py_XDECREF(tb);
    Py_XDECREF(ev);
    return -1;
#endif
}
static CYTHON_INLINE
__Pyx_PySendResult __Pyx_Coroutine_status_from_result(PyObject **retval) {
    if (*retval) {
        return PYGEN_NEXT;
    } else if (likely(__Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, retval) == 0)) {
        return PYGEN_RETURN;
    } else {
        return PYGEN_ERROR;
    }
}
static CYTHON_INLINE
void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
#if PY_VERSION_HEX >= 0x030B00a4
    Py_CLEAR(exc_state->exc_value);
#else
    PyObject *t, *v, *tb;
    t = exc_state->exc_type;
    v = exc_state->exc_value;
    tb = exc_state->exc_traceback;
    exc_state->exc_type = NULL;
    exc_state->exc_value = NULL;
    exc_state->exc_traceback = NULL;
    Py_XDECREF(t);
    Py_XDECREF(v);
    Py_XDECREF(tb);
#endif
}
#define __Pyx_Coroutine_AlreadyRunningError(gen)  (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) {
    const char *msg;
    CYTHON_MAYBE_UNUSED_VAR(gen);
    if ((0)) {
    #ifdef __Pyx_Coroutine_USED
    } else if (__Pyx_Coroutine_Check((PyObject*)gen)) {
        msg = "coroutine already executing";
    #endif
    #ifdef __Pyx_AsyncGen_USED
    } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) {
        msg = "async generator already executing";
    #endif
    } else {
        msg = "generator already executing";
    }
    PyErr_SetString(PyExc_ValueError, msg);
}
static void __Pyx_Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) {
    CYTHON_MAYBE_UNUSED_VAR(gen);
    CYTHON_MAYBE_UNUSED_VAR(closing);
    #ifdef __Pyx_Coroutine_USED
    if (!closing && __Pyx_Coroutine_Check(gen)) {
        PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine");
    } else
    #endif
    if (value) {
        #ifdef __Pyx_AsyncGen_USED
        if (__Pyx_AsyncGen_CheckExact(gen))
            PyErr_SetNone(PyExc_StopAsyncIteration);
        else
        #endif
        PyErr_SetNone(PyExc_StopIteration);
    }
}
static
__Pyx_PySendResult __Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, PyObject **result, int closing) {
    __Pyx_PyThreadState_declare
    PyThreadState *tstate;
    __Pyx_ExcInfoStruct *exc_state;
    PyObject *retval;
    assert(__Pyx_Coroutine_get_is_running(self));  // Callers should ensure is_running
    if (unlikely(self->resume_label == -1)) {
        __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
        return PYGEN_ERROR;
    }
#if CYTHON_FAST_THREAD_STATE
    __Pyx_PyThreadState_assign
    tstate = __pyx_tstate;
#else
    tstate = __Pyx_PyThreadState_Current;
#endif
    exc_state = &self->gi_exc_state;
    if (exc_state->exc_value) {
        #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        #else
        PyObject *exc_tb;
        #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
        exc_tb = PyException_GetTraceback(exc_state->exc_value);
        #elif PY_VERSION_HEX >= 0x030B00a4
        exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback;
        #else
        exc_tb = exc_state->exc_traceback;
        #endif
        if (exc_tb) {
            PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
            PyFrameObject *f = tb->tb_frame;
            assert(f->f_back == NULL);
            #if PY_VERSION_HEX >= 0x030B00A1
            f->f_back = PyThreadState_GetFrame(tstate);
            #else
            Py_XINCREF(tstate->frame);
            f->f_back = tstate->frame;
            #endif
            #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
            Py_DECREF(exc_tb);
            #endif
        }
        #endif
    }
#if CYTHON_USE_EXC_INFO_STACK
    exc_state->previous_item = tstate->exc_info;
    tstate->exc_info = exc_state;
#else
    if (exc_state->exc_type) {
        __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
    } else {
        __Pyx_Coroutine_ExceptionClear(exc_state);
        __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
    }
#endif
    retval = self->body(self, tstate, value);
#if CYTHON_USE_EXC_INFO_STACK
    exc_state = &self->gi_exc_state;
    tstate->exc_info = exc_state->previous_item;
    exc_state->previous_item = NULL;
    __Pyx_Coroutine_ResetFrameBackpointer(exc_state);
#endif
    *result = retval;
    if (self->resume_label == -1) {
        return likely(retval) ? PYGEN_RETURN : PYGEN_ERROR;
    }
    return PYGEN_NEXT;
}
static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
    CYTHON_UNUSED_VAR(exc_state);
#else
    PyObject *exc_tb;
    #if PY_VERSION_HEX >= 0x030B00a4
    if (!exc_state->exc_value) return;
    exc_tb = PyException_GetTraceback(exc_state->exc_value);
    #else
    exc_tb = exc_state->exc_traceback;
    #endif
    if (likely(exc_tb)) {
        PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
        PyFrameObject *f = tb->tb_frame;
        Py_CLEAR(f->f_back);
        #if PY_VERSION_HEX >= 0x030B00a4
        Py_DECREF(exc_tb);
        #endif
    }
#endif
}
#define __Pyx_Coroutine_MethodReturnFromResult(gen, result, retval, iternext)\
    ((result) == PYGEN_NEXT ? (retval) : __Pyx__Coroutine_MethodReturnFromResult(gen, result, retval, iternext))
static PyObject *
__Pyx__Coroutine_MethodReturnFromResult(PyObject* gen, __Pyx_PySendResult result, PyObject *retval, int iternext) {
    CYTHON_MAYBE_UNUSED_VAR(gen);
    if (likely(result == PYGEN_RETURN)) {
        int is_async = 0;
        #ifdef __Pyx_AsyncGen_USED
        is_async = __Pyx_AsyncGen_CheckExact(gen);
        #endif
        __Pyx_ReturnWithStopIteration(retval, is_async, iternext);
        Py_XDECREF(retval);
    }
    return NULL;
}
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE
PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
#if PY_VERSION_HEX <= 0x030A00A1
    return _PyGen_Send(gen, arg);
#else
    PyObject *result;
    if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
        if (PyAsyncGen_CheckExact(gen)) {
            assert(result == Py_None);
            PyErr_SetNone(PyExc_StopAsyncIteration);
        }
        else if (result == Py_None) {
            PyErr_SetNone(PyExc_StopIteration);
        }
        else {
#if PY_VERSION_HEX < 0x030d00A1
            _PyGen_SetStopIterationValue(result);
#else
            if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) {
                PyErr_SetObject(PyExc_StopIteration, result);
            } else {
                PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result);
                if (likely(exc != NULL)) {
                    PyErr_SetObject(PyExc_StopIteration, exc);
                    Py_DECREF(exc);
                }
            }
#endif
        }
        Py_DECREF(result);
        result = NULL;
    }
    return result;
#endif
}
#endif
static CYTHON_INLINE __Pyx_PySendResult
__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen, PyObject** retval) {
    __Pyx_PySendResult result;
    PyObject *val = NULL;
    assert(__Pyx_Coroutine_get_is_running(gen));
    __Pyx_Coroutine_Undelegate(gen);
    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
    result = __Pyx_Coroutine_SendEx(gen, val, retval, 0);
    Py_XDECREF(val);
    return result;
}
#if CYTHON_USE_AM_SEND
static __Pyx_PySendResult
__Pyx_Coroutine_SendToDelegate(__pyx_CoroutineObject *gen, __Pyx_pyiter_sendfunc gen_am_send, PyObject *value, PyObject **retval) {
    PyObject *ret = NULL;
    __Pyx_PySendResult delegate_result, result;
    assert(__Pyx_Coroutine_get_is_running(gen));
    delegate_result = gen_am_send(gen->yieldfrom, value, &ret);
    if (delegate_result == PYGEN_NEXT) {
        assert (ret != NULL);
        *retval = ret;
        return PYGEN_NEXT;
    }
    assert (delegate_result != PYGEN_ERROR || ret == NULL);
    __Pyx_Coroutine_Undelegate(gen);
    result = __Pyx_Coroutine_SendEx(gen, ret, retval, 0);
    Py_XDECREF(ret);
    return result;
}
#endif
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
    PyObject *retval = NULL;
    __Pyx_PySendResult result = __Pyx_Coroutine_AmSend(self, value, &retval);
    return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 0);
}
static __Pyx_PySendResult
__Pyx_Coroutine_AmSend(PyObject *self, PyObject *value, PyObject **retval) {
    __Pyx_PySendResult result;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        *retval = __Pyx_Coroutine_AlreadyRunningError(gen);
        return PYGEN_ERROR;
    }
    #if CYTHON_USE_AM_SEND
    if (gen->yieldfrom_am_send) {
        result = __Pyx_Coroutine_SendToDelegate(gen, gen->yieldfrom_am_send, value, retval);
    } else
    #endif
    if (gen->yieldfrom) {
        PyObject *yf = gen->yieldfrom;
        PyObject *ret;
      #if !CYTHON_USE_AM_SEND
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_Check(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        #ifdef __Pyx_AsyncGen_USED
        if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
            ret = __Pyx_async_gen_asend_send(yf, value);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON
        if (PyGen_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        if (PyCoro_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        #endif
      #endif
        {
            #if !CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x03080000
            if (value == Py_None && PyIter_Check(yf))
                ret = __Pyx_PyIter_Next_Plain(yf);
            else
            #endif
                ret = __Pyx_PyObject_CallMethod1(yf, __pyx_mstate_global->__pyx_n_u_send, value);
        }
        if (likely(ret)) {
            __Pyx_Coroutine_unset_is_running(gen);
            *retval = ret;
            return PYGEN_NEXT;
        }
        result = __Pyx_Coroutine_FinishDelegation(gen, retval);
    } else {
        result = __Pyx_Coroutine_SendEx(gen, value, retval, 0);
    }
    __Pyx_Coroutine_unset_is_running(gen);
    return result;
}
static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
    __Pyx_PySendResult result;
    PyObject *retval = NULL;
    CYTHON_UNUSED_VAR(gen);
    assert(__Pyx_Coroutine_get_is_running(gen));
    #ifdef __Pyx_Generator_USED
    if (__Pyx_Generator_CheckExact(yf)) {
        result = __Pyx_Coroutine_Close(yf, &retval);
    } else
    #endif
    #ifdef __Pyx_Coroutine_USED
    if (__Pyx_Coroutine_Check(yf)) {
        result = __Pyx_Coroutine_Close(yf, &retval);
    } else
    if (__Pyx_CoroutineAwait_CheckExact(yf)) {
        result = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf);
    } else
    #endif
    #ifdef __Pyx_AsyncGen_USED
    if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
        retval = __Pyx_async_gen_asend_close(yf, NULL);
        result = PYGEN_RETURN;
    } else
    if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
        retval = __Pyx_async_gen_athrow_close(yf, NULL);
        result = PYGEN_RETURN;
    } else
    #endif
    {
        PyObject *meth;
        result = PYGEN_RETURN;
        meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_mstate_global->__pyx_n_u_close);
        if (unlikely(!meth)) {
            if (unlikely(PyErr_Occurred())) {
                PyErr_WriteUnraisable(yf);
            }
        } else {
            retval = __Pyx_PyObject_CallNoArg(meth);
            Py_DECREF(meth);
            if (unlikely(!retval)) {
                result = PYGEN_ERROR;
            }
        }
    }
    Py_XDECREF(retval);
    return result == PYGEN_ERROR ? -1 : 0;
}
static PyObject *__Pyx_Generator_Next(PyObject *self) {
    __Pyx_PySendResult result;
    PyObject *retval = NULL;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    }
    #if CYTHON_USE_AM_SEND
    if (gen->yieldfrom_am_send) {
        result = __Pyx_Coroutine_SendToDelegate(gen, gen->yieldfrom_am_send, Py_None, &retval);
    } else
    #endif
    if (gen->yieldfrom) {
        PyObject *yf = gen->yieldfrom;
        PyObject *ret;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Generator_Next(yf);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Send(yf, Py_None);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON && (PY_VERSION_HEX < 0x030A00A3 || !CYTHON_USE_AM_SEND)
        if (PyGen_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
        } else
        #endif
            ret = __Pyx_PyIter_Next_Plain(yf);
        if (likely(ret)) {
            __Pyx_Coroutine_unset_is_running(gen);
            return ret;
        }
        result = __Pyx_Coroutine_FinishDelegation(gen, &retval);
    } else {
        result = __Pyx_Coroutine_SendEx(gen, Py_None, &retval, 0);
    }
    __Pyx_Coroutine_unset_is_running(gen);
    return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 1);
}
static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) {
    PyObject *retval = NULL;
    __Pyx_PySendResult result;
    CYTHON_UNUSED_VAR(arg);
    result = __Pyx_Coroutine_Close(self, &retval);
    if (unlikely(result == PYGEN_ERROR))
        return NULL;
    Py_XDECREF(retval);
    Py_RETURN_NONE;
}
static __Pyx_PySendResult
__Pyx_Coroutine_Close(PyObject *self, PyObject **retval) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    __Pyx_PySendResult result;
    PyObject *yf;
    int err = 0;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        *retval = __Pyx_Coroutine_AlreadyRunningError(gen);
        return PYGEN_ERROR;
    }
    yf = gen->yieldfrom;
    if (yf) {
        Py_INCREF(yf);
        err = __Pyx_Coroutine_CloseIter(gen, yf);
        __Pyx_Coroutine_Undelegate(gen);
        Py_DECREF(yf);
    }
    if (err == 0)
        PyErr_SetNone(PyExc_GeneratorExit);
    result = __Pyx_Coroutine_SendEx(gen, NULL, retval, 1);
    if (result == PYGEN_ERROR) {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_Coroutine_unset_is_running(gen);
        if (!__Pyx_PyErr_Occurred()) {
            return PYGEN_RETURN;
        } else if (likely(__Pyx_PyErr_ExceptionMatches2(PyExc_GeneratorExit, PyExc_StopIteration))) {
            __Pyx_PyErr_Clear();
            return PYGEN_RETURN;
        }
        return PYGEN_ERROR;
    } else if (likely(result == PYGEN_RETURN && *retval == Py_None)) {
        __Pyx_Coroutine_unset_is_running(gen);
        return PYGEN_RETURN;
    } else {
        const char *msg;
        Py_DECREF(*retval);
        *retval = NULL;
        if ((0)) {
        #ifdef __Pyx_Coroutine_USED
        } else if (__Pyx_Coroutine_Check(self)) {
            msg = "coroutine ignored GeneratorExit";
        #endif
        #ifdef __Pyx_AsyncGen_USED
        } else if (__Pyx_AsyncGen_CheckExact(self)) {
            msg = "async generator ignored GeneratorExit";
        #endif
        } else {
            msg = "generator ignored GeneratorExit";
        }
        PyErr_SetString(PyExc_RuntimeError, msg);
        __Pyx_Coroutine_unset_is_running(gen);
        return PYGEN_ERROR;
    }
}
static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb,
                                        PyObject *args, int close_on_genexit) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject *yf;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen)))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    yf = gen->yieldfrom;
    if (yf) {
        __Pyx_PySendResult result;
        PyObject *ret;
        Py_INCREF(yf);
        if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) {
            int err = __Pyx_Coroutine_CloseIter(gen, yf);
            Py_DECREF(yf);
            __Pyx_Coroutine_Undelegate(gen);
            if (err < 0)
                goto propagate_exception;
            goto throw_here;
        }
        if (0
        #ifdef __Pyx_Generator_USED
            || __Pyx_Generator_CheckExact(yf)
        #endif
        #ifdef __Pyx_Coroutine_USED
            || __Pyx_Coroutine_Check(yf)
        #endif
            ) {
            ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit);
        #ifdef __Pyx_Coroutine_USED
        } else if (__Pyx_CoroutineAwait_CheckExact(yf)) {
            ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit);
        #endif
        } else {
            PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_mstate_global->__pyx_n_u_throw);
            if (unlikely(!meth)) {
                Py_DECREF(yf);
                if (unlikely(PyErr_Occurred())) {
                    __Pyx_Coroutine_unset_is_running(gen);
                    return NULL;
                }
                __Pyx_Coroutine_Undelegate(gen);
                goto throw_here;
            }
            if (likely(args)) {
                ret = __Pyx_PyObject_Call(meth, args, NULL);
            } else {
                PyObject *cargs[4] = {NULL, typ, val, tb};
                ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
            }
            Py_DECREF(meth);
        }
        Py_DECREF(yf);
        if (ret) {
            __Pyx_Coroutine_unset_is_running(gen);
            return ret;
        }
        result = __Pyx_Coroutine_FinishDelegation(gen, &ret);
        __Pyx_Coroutine_unset_is_running(gen);
        return __Pyx_Coroutine_MethodReturnFromResult(self, result, ret, 0);
    }
throw_here:
    __Pyx_Raise(typ, val, tb, NULL);
propagate_exception:
    {
        PyObject *retval = NULL;
        __Pyx_PySendResult result = __Pyx_Coroutine_SendEx(gen, NULL, &retval, 0);
        __Pyx_Coroutine_unset_is_running(gen);
        return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 0);
    }
}
static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
    PyObject *typ;
    PyObject *val = NULL;
    PyObject *tb = NULL;
    if (unlikely(!PyArg_UnpackTuple(args, "throw", 1, 3, &typ, &val, &tb)))
        return NULL;
    return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1);
}
static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) {
#if PY_VERSION_HEX >= 0x030B00a4
    Py_VISIT(exc_state->exc_value);
#else
    Py_VISIT(exc_state->exc_type);
    Py_VISIT(exc_state->exc_value);
    Py_VISIT(exc_state->exc_traceback);
#endif
    return 0;
}
static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
    {
        int e = __Pyx_call_type_traverse((PyObject*)gen, 1, visit, arg);
        if (e) return e;
    }
    Py_VISIT(gen->closure);
    Py_VISIT(gen->classobj);
    Py_VISIT(gen->yieldfrom);
    return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg);
}
static int __Pyx_Coroutine_clear(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    Py_CLEAR(gen->closure);
    Py_CLEAR(gen->classobj);
    __Pyx_Coroutine_Undelegate(gen);
    __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state);
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer);
    }
#endif
    Py_CLEAR(gen->gi_code);
    Py_CLEAR(gen->gi_frame);
    Py_CLEAR(gen->gi_name);
    Py_CLEAR(gen->gi_qualname);
    Py_CLEAR(gen->gi_modulename);
    return 0;
}
static void __Pyx_Coroutine_dealloc(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject_GC_UnTrack(gen);
    #if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    if (gen->gi_weakreflist != NULL)
    #endif
        PyObject_ClearWeakRefs(self);
    if (gen->resume_label >= 0) {
        PyObject_GC_Track(self);
#if CYTHON_USE_TP_FINALIZE
        if (unlikely(PyObject_CallFinalizerFromDealloc(self)))
#else
        {
            destructor del = __Pyx_PyObject_GetSlot(gen, tp_del, destructor);
            if (del) del(self);
        }
        if (unlikely(Py_REFCNT(self) > 0))
#endif
        {
            return;
        }
        PyObject_GC_UnTrack(self);
    }
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        /* We have to handle this case for asynchronous generators
           right here, because this code has to be between UNTRACK
           and GC_Del. */
        Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer);
    }
#endif
    __Pyx_Coroutine_clear(self);
    __Pyx_PyHeapTypeObject_GC_Del(gen);
}
#if CYTHON_USE_TP_FINALIZE
static void __Pyx_Coroutine_del(PyObject *self) {
    PyObject *error_type, *error_value, *error_traceback;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    __Pyx_PyThreadState_declare
    if (gen->resume_label < 0) {
        return;
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self;
        PyObject *finalizer = agen->ag_finalizer;
        if (finalizer && !agen->ag_closed) {
            PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self);
            if (unlikely(!res)) {
                PyErr_WriteUnraisable(self);
            } else {
                Py_DECREF(res);
            }
            __Pyx_ErrRestore(error_type, error_value, error_traceback);
            return;
        }
    }
#endif
    if (unlikely(gen->resume_label == 0 && !error_value)) {
#ifdef __Pyx_Coroutine_USED
#ifdef __Pyx_Generator_USED
    if (!__Pyx_Generator_CheckExact(self))
#endif
        {
        PyObject_GC_UnTrack(self);
        if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
            PyErr_WriteUnraisable(self);
        PyObject_GC_Track(self);
        }
#endif
    } else {
        PyObject *retval = NULL;
        __Pyx_PySendResult result = __Pyx_Coroutine_Close(self, &retval);
        if (result == PYGEN_ERROR) {
            PyErr_WriteUnraisable(self);
        } else {
            Py_XDECREF(retval);
        }
    }
    __Pyx_ErrRestore(error_type, error_value, error_traceback);
}
#endif
static PyObject *
__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context)
{
    PyObject *name = self->gi_name;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(self->gi_name, value);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context)
{
    PyObject *name = self->gi_qualname;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(self->gi_qualname, value);
    return 0;
}
static PyObject *
__Pyx__Coroutine_get_frame(__pyx_CoroutineObject *self)
{
#if !CYTHON_COMPILING_IN_LIMITED_API
    PyObject *frame;
    #if PY_VERSION_HEX >= 0x030d0000
    Py_BEGIN_CRITICAL_SECTION(self);
    #endif
    frame = self->gi_frame;
    if (!frame) {
        if (unlikely(!self->gi_code)) {
            Py_RETURN_NONE;
        }
        PyObject *globals = PyDict_New();
        if (unlikely(!globals)) return NULL;
        frame = (PyObject *) PyFrame_New(
            PyThreadState_Get(),            /*PyThreadState *tstate,*/
            (PyCodeObject*) self->gi_code,  /*PyCodeObject *code,*/
            globals,                        /*PyObject *globals,*/
            0                               /*PyObject *locals*/
        );
        Py_DECREF(globals);
        if (unlikely(!frame))
            return NULL;
        if (unlikely(self->gi_frame)) {
            Py_DECREF(frame);
            frame = self->gi_frame;
        } else {
            self->gi_frame = frame;
        }
    }
    Py_INCREF(frame);
    #if PY_VERSION_HEX >= 0x030d0000
    Py_END_CRITICAL_SECTION();
    #endif
    return frame;
#else
    CYTHON_UNUSED_VAR(self);
    Py_RETURN_NONE;
#endif
}
static PyObject *
__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) {
    CYTHON_UNUSED_VAR(context);
    PyObject *frame = self->gi_frame;
    if (frame)
        return __Pyx_NewRef(frame);
    return __Pyx__Coroutine_get_frame(self);
}
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
            PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name) {
    __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
    if (unlikely(!gen))
        return NULL;
    return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name);
}
static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name) {
    gen->body = body;
    gen->closure = closure;
    Py_XINCREF(closure);
    gen->is_running = 0;
    gen->resume_label = 0;
    gen->classobj = NULL;
    gen->yieldfrom = NULL;
    gen->yieldfrom_am_send = NULL;
    #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_LIMITED_API
    gen->gi_exc_state.exc_value = NULL;
    #else
    gen->gi_exc_state.exc_type = NULL;
    gen->gi_exc_state.exc_value = NULL;
    gen->gi_exc_state.exc_traceback = NULL;
    #endif
#if CYTHON_USE_EXC_INFO_STACK
    gen->gi_exc_state.previous_item = NULL;
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    gen->gi_weakreflist = NULL;
#endif
    Py_XINCREF(qualname);
    gen->gi_qualname = qualname;
    Py_XINCREF(name);
    gen->gi_name = name;
    Py_XINCREF(module_name);
    gen->gi_modulename = module_name;
    Py_XINCREF(code);
    gen->gi_code = code;
    gen->gi_frame = NULL;
    PyObject_GC_Track(gen);
    return gen;
}
static char __Pyx_Coroutine_test_and_set_is_running(__pyx_CoroutineObject *gen) {
    char result;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_BEGIN_CRITICAL_SECTION(gen);
    #endif
    result = gen->is_running;
    gen->is_running = 1;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_END_CRITICAL_SECTION();
    #endif
    return result;
}
static void __Pyx_Coroutine_unset_is_running(__pyx_CoroutineObject *gen) {
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_BEGIN_CRITICAL_SECTION(gen);
    #endif
    assert(gen->is_running);
    gen->is_running = 0;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_END_CRITICAL_SECTION();
    #endif
}
static char __Pyx_Coroutine_get_is_running(__pyx_CoroutineObject *gen) {
    char result;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_BEGIN_CRITICAL_SECTION(gen);
    #endif
    result = gen->is_running;
    #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_END_CRITICAL_SECTION();
    #endif
    return result;
}
static PyObject *__Pyx_Coroutine_get_is_running_getter(PyObject *gen, void *closure) {
    CYTHON_UNUSED_VAR(closure);
    char result = __Pyx_Coroutine_get_is_running((__pyx_CoroutineObject*)gen);
    if (result) Py_RETURN_TRUE;
    else Py_RETURN_FALSE;
}
#if __PYX_HAS_PY_AM_SEND == 2
static void __Pyx_SetBackportTypeAmSend(PyTypeObject *type, __Pyx_PyAsyncMethodsStruct *static_amsend_methods, __Pyx_pyiter_sendfunc am_send) {
    Py_ssize_t ptr_offset = (char*)(type->tp_as_async) - (char*)type;
    if (ptr_offset < 0 || ptr_offset > type->tp_basicsize) {
        return;
    }
    memcpy((void*)static_amsend_methods, (void*)(type->tp_as_async), sizeof(*type->tp_as_async));
    static_amsend_methods->am_send = am_send;
    type->tp_as_async = __Pyx_SlotTpAsAsync(static_amsend_methods);
}
#endif
static PyObject *__Pyx_Coroutine_fail_reduce_ex(PyObject *self, PyObject *arg) {
    CYTHON_UNUSED_VAR(arg);
    __Pyx_TypeName self_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE((PyObject*)self));
    PyErr_Format(PyExc_TypeError, "cannot pickle '" __Pyx_FMT_TYPENAME "' object",
                         self_type_name);
    __Pyx_DECREF_TypeName(self_type_name);
    return NULL;
}

/* Generator */
static PyMethodDef __pyx_Generator_methods[] = {
    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
     PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
     PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")},
    {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS,
     PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
    {"__reduce_ex__", (PyCFunction) __Pyx_Coroutine_fail_reduce_ex, METH_O, 0},
    {"__reduce__", (PyCFunction) __Pyx_Coroutine_fail_reduce_ex, METH_NOARGS, 0},
    {0, 0, 0, 0}
};
static PyMemberDef __pyx_Generator_memberlist[] = {
    {"gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
     PyDoc_STR("object being iterated by 'yield from', or None")},
    {"gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
    {"__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0},
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    {"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0},
#endif
    {0, 0, 0, 0, 0}
};
static PyGetSetDef __pyx_Generator_getsets[] = {
    {"__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
     PyDoc_STR("name of the generator"), 0},
    {"__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
     PyDoc_STR("qualified name of the generator"), 0},
    {"gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
     PyDoc_STR("Frame of the generator"), 0},
    {"gi_running", __Pyx_Coroutine_get_is_running_getter, NULL, NULL, NULL},
    {0, 0, 0, 0, 0}
};
static PyType_Slot __pyx_GeneratorType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc},
    {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse},
    {Py_tp_iter, (void *)PyObject_SelfIter},
    {Py_tp_iternext, (void *)__Pyx_Generator_Next},
    {Py_tp_methods, (void *)__pyx_Generator_methods},
    {Py_tp_members, (void *)__pyx_Generator_memberlist},
    {Py_tp_getset, (void *)__pyx_Generator_getsets},
    {Py_tp_getattro, (void *) PyObject_GenericGetAttr},
#if CYTHON_USE_TP_FINALIZE
    {Py_tp_finalize, (void *)__Pyx_Coroutine_del},
#endif
#if __PYX_HAS_PY_AM_SEND == 1
    {Py_am_send, (void *)__Pyx_Coroutine_AmSend},
#endif
    {0, 0},
};
static PyType_Spec __pyx_GeneratorType_spec = {
    __PYX_TYPE_MODULE_PREFIX "generator",
    sizeof(__pyx_CoroutineObject),
    0,
#if PY_VERSION_HEX >= 0x030C0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_TPFLAGS_MANAGED_WEAKREF |
#endif
    Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION |
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | __Pyx_TPFLAGS_HAVE_AM_SEND,
    __pyx_GeneratorType_slots
};
#if __PYX_HAS_PY_AM_SEND == 2
static __Pyx_PyAsyncMethodsStruct __pyx_Generator_as_async;
#endif
static int __pyx_Generator_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    mstate->__pyx_GeneratorType = __Pyx_FetchCommonTypeFromSpec(
        mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_GeneratorType_spec, NULL);
    if (unlikely(!mstate->__pyx_GeneratorType)) {
        return -1;
    }
#if __PYX_HAS_PY_AM_SEND == 2
    __Pyx_SetBackportTypeAmSend(mstate->__pyx_GeneratorType, &__pyx_Generator_as_async, &__Pyx_Coroutine_AmSend);
#endif
    return 0;
}
static PyObject *__Pyx_Generator_GetInlinedResult(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *retval = NULL;
    if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    }
    __Pyx_PySendResult result = __Pyx_Coroutine_SendEx(gen, Py_None, &retval, 0);
    __Pyx_Coroutine_unset_is_running(gen);
    (void) result;
    assert (result == PYGEN_RETURN || result == PYGEN_ERROR);
    assert ((result == PYGEN_RETURN && retval != NULL) || (result == PYGEN_ERROR && retval == NULL));
    return retval;
}

/* CheckBinaryVersion */
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
    const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
    if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
        return 0;
    if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
        return 1;
    {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compile time Python version %d.%d "
                      "of module '%.100s' "
                      "%s "
                      "runtime version %d.%d",
                       (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
                       __Pyx_MODULE_NAME,
                       (allow_newer) ? "was newer than" : "does not match",
                       (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
       );
        return PyErr_WarnEx(NULL, message, 1);
    }
}

/* NewCodeObj */
#if CYTHON_COMPILING_IN_LIMITED_API
    static PyObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f,
                                       PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                       PyObject *fv, PyObject *cell, PyObject* fn,
                                       PyObject *name, int fline, PyObject *lnos) {
        PyObject *exception_table = NULL;
        PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
        #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
        PyObject *version_info;
        PyObject *py_minor_version = NULL;
        #endif
        long minor_version = 0;
        PyObject *type, *value, *traceback;
        PyErr_Fetch(&type, &value, &traceback);
        #if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
        minor_version = 11;
        #else
        if (!(version_info = PySys_GetObject("version_info"))) goto end;
        if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
        minor_version = PyLong_AsLong(py_minor_version);
        Py_DECREF(py_minor_version);
        if (minor_version == -1 && PyErr_Occurred()) goto end;
        #endif
        if (!(types_module = PyImport_ImportModule("types"))) goto end;
        if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
        if (minor_version <= 7) {
            (void)p;
            result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOOO", a, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else if (minor_version <= 10) {
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else {
            if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOOOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
        }
    end:
        Py_XDECREF(code_type);
        Py_XDECREF(exception_table);
        Py_XDECREF(types_module);
        if (type) {
            PyErr_Restore(type, value, traceback);
        }
        return result;
    }
#elif PY_VERSION_HEX >= 0x030B0000
  static PyCodeObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f,
                                         PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                         PyObject *fv, PyObject *cell, PyObject* fn,
                                         PyObject *name, int fline, PyObject *lnos) {
    PyCodeObject *result;
    result =
      #if PY_VERSION_HEX >= 0x030C0000
        PyUnstable_Code_NewWithPosOnlyArgs
      #else
        PyCode_NewWithPosOnlyArgs
      #endif
        (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
    if (likely(result))
        result->_co_firsttraceable = 0;
    #endif
    return result;
  }
#elif !CYTHON_COMPILING_IN_PYPY
  #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
static PyObject* __Pyx_PyCode_New(
        const __Pyx_PyCode_New_function_description descr,
        PyObject * const *varnames,
        PyObject *filename,
        PyObject *funcname,
        PyObject *line_table,
        PyObject *tuple_dedup_map
) {
    PyObject *code_obj = NULL, *varnames_tuple_dedup = NULL, *code_bytes = NULL;
    Py_ssize_t var_count = (Py_ssize_t) descr.nlocals;
    PyObject *varnames_tuple = PyTuple_New(var_count);
    if (unlikely(!varnames_tuple)) return NULL;
    for (Py_ssize_t i=0; i < var_count; i++) {
        Py_INCREF(varnames[i]);
        if (__Pyx_PyTuple_SET_ITEM(varnames_tuple, i, varnames[i]) != (0)) goto done;
    }
    #if CYTHON_COMPILING_IN_LIMITED_API
    varnames_tuple_dedup = PyDict_GetItem(tuple_dedup_map, varnames_tuple);
    if (!varnames_tuple_dedup) {
        if (unlikely(PyDict_SetItem(tuple_dedup_map, varnames_tuple, varnames_tuple) < 0)) goto done;
        varnames_tuple_dedup = varnames_tuple;
    }
    #else
    varnames_tuple_dedup = PyDict_SetDefault(tuple_dedup_map, varnames_tuple, varnames_tuple);
    if (unlikely(!varnames_tuple_dedup)) goto done;
    #endif
    #if CYTHON_AVOID_BORROWED_REFS
    Py_INCREF(varnames_tuple_dedup);
    #endif
    if (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table != NULL && !CYTHON_COMPILING_IN_GRAAL) {
        Py_ssize_t line_table_length = __Pyx_PyBytes_GET_SIZE(line_table);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(line_table_length == -1)) goto done;
        #endif
        Py_ssize_t code_len = (line_table_length * 2 + 4) & ~3LL;
        code_bytes = PyBytes_FromStringAndSize(NULL, code_len);
        if (unlikely(!code_bytes)) goto done;
        char* c_code_bytes = PyBytes_AsString(code_bytes);
        if (unlikely(!c_code_bytes)) goto done;
        memset(c_code_bytes, 0, (size_t) code_len);
    }
    code_obj = (PyObject*) __Pyx__PyCode_New(
        (int) descr.argcount,
        (int) descr.num_posonly_args,
        (int) descr.num_kwonly_args,
        (int) descr.nlocals,
        0,
        (int) descr.flags,
        code_bytes ? code_bytes : __pyx_mstate_global->__pyx_empty_bytes,
        __pyx_mstate_global->__pyx_empty_tuple,
        __pyx_mstate_global->__pyx_empty_tuple,
        varnames_tuple_dedup,
        __pyx_mstate_global->__pyx_empty_tuple,
        __pyx_mstate_global->__pyx_empty_tuple,
        filename,
        funcname,
        (int) descr.first_line,
        (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table) ? line_table : __pyx_mstate_global->__pyx_empty_bytes
    );
done:
    Py_XDECREF(code_bytes);
    #if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(varnames_tuple_dedup);
    #endif
    Py_DECREF(varnames_tuple);
    return code_obj;
}

/* DecompressString */
static PyObject *__Pyx_DecompressString(const char *s, Py_ssize_t length, int algo) {
    PyObject *module = NULL, *decompress, *compressed_bytes, *decompressed;
    const char* module_name = algo == 3 ? "compression.zstd" : algo == 2 ? "bz2" : "zlib";
    PyObject *methodname = PyUnicode_FromString("decompress");
    if (unlikely(!methodname)) return NULL;
    #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000
    if (algo == 3) {
        PyObject *fromlist = Py_BuildValue("[O]", methodname);
        if (unlikely(!fromlist)) goto bad;
        module = PyImport_ImportModuleLevel("compression.zstd", NULL, NULL, fromlist, 0);
        Py_DECREF(fromlist);
    } else
    #endif
        module = PyImport_ImportModule(module_name);
    if (unlikely(!module)) goto import_failed;
    decompress = PyObject_GetAttr(module, methodname);
    if (unlikely(!decompress)) goto import_failed;
    {
        #ifdef __cplusplus
            char *memview_bytes = const_cast<char*>(s);
        #else
            #if defined(__clang__)
              #pragma clang diagnostic push
              #pragma clang diagnostic ignored "-Wcast-qual"
            #elif !defined(__INTEL_COMPILER) && defined(__GNUC__)
              #pragma GCC diagnostic push
              #pragma GCC diagnostic ignored "-Wcast-qual"
            #endif
            char *memview_bytes = (char*) s;
            #if defined(__clang__)
              #pragma clang diagnostic pop
            #elif !defined(__INTEL_COMPILER) && defined(__GNUC__)
              #pragma GCC diagnostic pop
            #endif
        #endif
        #if CYTHON_COMPILING_IN_LIMITED_API && !defined(PyBUF_READ)
        int memview_flags = 0x100;
        #else
        int memview_flags = PyBUF_READ;
        #endif
        compressed_bytes = PyMemoryView_FromMemory(memview_bytes, length, memview_flags);
    }
    if (unlikely(!compressed_bytes)) {
        Py_DECREF(decompress);
        goto bad;
    }
    decompressed = PyObject_CallFunctionObjArgs(decompress, compressed_bytes, NULL);
    Py_DECREF(compressed_bytes);
    Py_DECREF(decompress);
    Py_DECREF(module);
    Py_DECREF(methodname);
    return decompressed;
import_failed:
    PyErr_Format(PyExc_ImportError,
        "Failed to import '%.20s.decompress' - cannot initialise module strings. "
        "String compression was configured with the C macro 'CYTHON_COMPRESS_STRINGS=%d'.",
        module_name, algo);
bad:
    Py_XDECREF(module);
    Py_DECREF(methodname);
    return NULL;
}

#include <string.h>
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
    size_t len = strlen(s);
    if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
        PyErr_SetString(PyExc_OverflowError, "byte string is too long");
        return -1;
    }
    return (Py_ssize_t) len;
}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    {
        const char* result;
        Py_ssize_t unicode_length;
        CYTHON_MAYBE_UNUSED_VAR(unicode_length); // only for __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        #if __PYX_LIMITED_VERSION_HEX < 0x030A0000
        if (unlikely(PyArg_Parse(o, "s#", &result, length) < 0)) return NULL;
        #else
        result = PyUnicode_AsUTF8AndSize(o, length);
        #endif
        #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        unicode_length = PyUnicode_GetLength(o);
        if (unlikely(unicode_length < 0)) return NULL;
        if (unlikely(unicode_length != *length)) {
            PyUnicode_AsASCIIString(o);
            return NULL;
        }
        #endif
        return result;
    }
#else
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    if (likely(PyUnicode_IS_ASCII(o))) {
        *length = PyUnicode_GET_LENGTH(o);
        return PyUnicode_AsUTF8(o);
    } else {
        PyUnicode_AsASCIIString(o);
        return NULL;
    }
#else
    return PyUnicode_AsUTF8AndSize(o, length);
#endif
#endif
}
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
    if (PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
    if (PyByteArray_Check(o)) {
#if (CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS) || (CYTHON_COMPILING_IN_PYPY && (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)))
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
#else
        *length = PyByteArray_Size(o);
        if (*length == -1) return NULL;
        return PyByteArray_AsString(o);
#endif
    } else
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
    int retval;
    if (unlikely(!x)) return -1;
    retval = __Pyx_PyObject_IsTrue(x);
    Py_DECREF(x);
    return retval;
}
static PyObject* __Pyx_PyNumber_LongWrongResultType(PyObject* result) {
    __Pyx_TypeName result_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(result));
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ").  "
                "The ability to return an instance of a strict subclass of int is deprecated, "
                "and may be removed in a future version of Python.",
                result_type_name)) {
            __Pyx_DECREF_TypeName(result_type_name);
            Py_DECREF(result);
            return NULL;
        }
        __Pyx_DECREF_TypeName(result_type_name);
        return result;
    }
    PyErr_Format(PyExc_TypeError,
                 "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ")",
                 result_type_name);
    __Pyx_DECREF_TypeName(result_type_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  PyObject *res = NULL;
  if (likely(PyLong_Check(x)))
      return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  if (likely(m && m->nb_int)) {
      res = m->nb_int(x);
  }
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
      res = PyNumber_Long(x);
  }
#endif
  if (likely(res)) {
      if (unlikely(!PyLong_CheckExact(res))) {
          return __Pyx_PyNumber_LongWrongResultType(res);
      }
  }
  else if (!PyErr_Occurred()) {
      PyErr_SetString(PyExc_TypeError,
                      "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(__Pyx_PyLong_IsCompact(b))) {
        return __Pyx_PyLong_CompactValue(b);
    } else {
      const digit* digits = __Pyx_PyLong_Digits(b);
      const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b);
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyLong_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
  } else {
    Py_ssize_t ival;
    PyObject *x;
    x = PyNumber_Index(o);
    if (!x) return -1;
    ival = PyLong_AsLong(x);
    Py_DECREF(x);
    return ival;
  }
}
static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b) {
    CYTHON_UNUSED_VAR(b);
    return __Pyx_NewRef(Py_None);
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return __Pyx_NewRef(b ? Py_True: Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t ival) {
    return PyLong_FromSize_t(ival);
}


/* MultiPhaseInitModuleState */
#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
#ifndef CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
#if (CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX >= 0x030C0000)
  #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 1
#else
  #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 0
#endif
#endif
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE && !CYTHON_ATOMICS
#error "Module state with PEP489 requires atomics. Currently that's one of\
 C11, C++11, gcc atomic intrinsics or MSVC atomic intrinsics"
#endif
#if !CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
#define __Pyx_ModuleStateLookup_Lock()
#define __Pyx_ModuleStateLookup_Unlock()
#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
static PyMutex __Pyx_ModuleStateLookup_mutex = {0};
#define __Pyx_ModuleStateLookup_Lock() PyMutex_Lock(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() PyMutex_Unlock(&__Pyx_ModuleStateLookup_mutex)
#elif defined(__cplusplus) && __cplusplus >= 201103L
#include <mutex>
static std::mutex __Pyx_ModuleStateLookup_mutex;
#define __Pyx_ModuleStateLookup_Lock() __Pyx_ModuleStateLookup_mutex.lock()
#define __Pyx_ModuleStateLookup_Unlock() __Pyx_ModuleStateLookup_mutex.unlock()
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ > 201112L) && !defined(__STDC_NO_THREADS__)
#include <threads.h>
static mtx_t __Pyx_ModuleStateLookup_mutex;
static once_flag __Pyx_ModuleStateLookup_mutex_once_flag = ONCE_FLAG_INIT;
static void __Pyx_ModuleStateLookup_initialize_mutex(void) {
    mtx_init(&__Pyx_ModuleStateLookup_mutex, mtx_plain);
}
#define __Pyx_ModuleStateLookup_Lock()\
  call_once(&__Pyx_ModuleStateLookup_mutex_once_flag, __Pyx_ModuleStateLookup_initialize_mutex);\
  mtx_lock(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() mtx_unlock(&__Pyx_ModuleStateLookup_mutex)
#elif defined(HAVE_PTHREAD_H)
#include <pthread.h>
static pthread_mutex_t __Pyx_ModuleStateLookup_mutex = PTHREAD_MUTEX_INITIALIZER;
#define __Pyx_ModuleStateLookup_Lock() pthread_mutex_lock(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() pthread_mutex_unlock(&__Pyx_ModuleStateLookup_mutex)
#elif defined(_WIN32)
#include <Windows.h>  // synchapi.h on its own doesn't work
static SRWLOCK __Pyx_ModuleStateLookup_mutex = SRWLOCK_INIT;
#define __Pyx_ModuleStateLookup_Lock() AcquireSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
#define __Pyx_ModuleStateLookup_Unlock() ReleaseSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
#else
#error "No suitable lock available for CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE.\
 Requires C standard >= C11, or C++ standard >= C++11,\
 or pthreads, or the Windows 32 API, or Python >= 3.13."
#endif
typedef struct {
    int64_t id;
    PyObject *module;
} __Pyx_InterpreterIdAndModule;
typedef struct {
    char interpreter_id_as_index;
    Py_ssize_t count;
    Py_ssize_t allocated;
    __Pyx_InterpreterIdAndModule table[1];
} __Pyx_ModuleStateLookupData;
#define __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE 32
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
static __pyx_atomic_int_type __Pyx_ModuleStateLookup_read_counter = 0;
#endif
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
static __pyx_atomic_ptr_type __Pyx_ModuleStateLookup_data = 0;
#else
static __Pyx_ModuleStateLookupData* __Pyx_ModuleStateLookup_data = NULL;
#endif
static __Pyx_InterpreterIdAndModule* __Pyx_State_FindModuleStateLookupTableLowerBound(
        __Pyx_InterpreterIdAndModule* table,
        Py_ssize_t count,
        int64_t interpreterId) {
    __Pyx_InterpreterIdAndModule* begin = table;
    __Pyx_InterpreterIdAndModule* end = begin + count;
    if (begin->id == interpreterId) {
        return begin;
    }
    while ((end - begin) > __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
        __Pyx_InterpreterIdAndModule* halfway = begin + (end - begin)/2;
        if (halfway->id == interpreterId) {
            return halfway;
        }
        if (halfway->id < interpreterId) {
            begin = halfway;
        } else {
            end = halfway;
        }
    }
    for (; begin < end; ++begin) {
        if (begin->id >= interpreterId) return begin;
    }
    return begin;
}
static PyObject *__Pyx_State_FindModule(CYTHON_UNUSED void* dummy) {
    int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
    if (interpreter_id == -1) return NULL;
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __Pyx_ModuleStateLookupData* data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
    {
        __pyx_atomic_incr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
        if (likely(data)) {
            __Pyx_ModuleStateLookupData* new_data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_acquire(&__Pyx_ModuleStateLookup_data);
            if (likely(data == new_data)) {
                goto read_finished;
            }
        }
        __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
        __Pyx_ModuleStateLookup_Lock();
        __pyx_atomic_incr_relaxed(&__Pyx_ModuleStateLookup_read_counter);
        data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
        __Pyx_ModuleStateLookup_Unlock();
    }
  read_finished:;
#else
    __Pyx_ModuleStateLookupData* data = __Pyx_ModuleStateLookup_data;
#endif
    __Pyx_InterpreterIdAndModule* found = NULL;
    if (unlikely(!data)) goto end;
    if (data->interpreter_id_as_index) {
        if (interpreter_id < data->count) {
            found = data->table+interpreter_id;
        }
    } else {
        found = __Pyx_State_FindModuleStateLookupTableLowerBound(
            data->table, data->count, interpreter_id);
    }
  end:
    {
        PyObject *result=NULL;
        if (found && found->id == interpreter_id) {
            result = found->module;
        }
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
        __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
#endif
        return result;
    }
}
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
static void __Pyx_ModuleStateLookup_wait_until_no_readers(void) {
    while (__pyx_atomic_load(&__Pyx_ModuleStateLookup_read_counter) != 0);
}
#else
#define __Pyx_ModuleStateLookup_wait_until_no_readers()
#endif
static int __Pyx_State_AddModuleInterpIdAsIndex(__Pyx_ModuleStateLookupData **old_data, PyObject* module, int64_t interpreter_id) {
    Py_ssize_t to_allocate = (*old_data)->allocated;
    while (to_allocate <= interpreter_id) {
        if (to_allocate == 0) to_allocate = 1;
        else to_allocate *= 2;
    }
    __Pyx_ModuleStateLookupData *new_data = *old_data;
    if (to_allocate != (*old_data)->allocated) {
         new_data = (__Pyx_ModuleStateLookupData *)realloc(
            *old_data,
            sizeof(__Pyx_ModuleStateLookupData)+(to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule));
        if (!new_data) {
            PyErr_NoMemory();
            return -1;
        }
        for (Py_ssize_t i = new_data->allocated; i < to_allocate; ++i) {
            new_data->table[i].id = i;
            new_data->table[i].module = NULL;
        }
        new_data->allocated = to_allocate;
    }
    new_data->table[interpreter_id].module = module;
    if (new_data->count < interpreter_id+1) {
        new_data->count = interpreter_id+1;
    }
    *old_data = new_data;
    return 0;
}
static void __Pyx_State_ConvertFromInterpIdAsIndex(__Pyx_ModuleStateLookupData *data) {
    __Pyx_InterpreterIdAndModule *read = data->table;
    __Pyx_InterpreterIdAndModule *write = data->table;
    __Pyx_InterpreterIdAndModule *end = read + data->count;
    for (; read<end; ++read) {
        if (read->module) {
            write->id = read->id;
            write->module = read->module;
            ++write;
        }
    }
    data->count = write - data->table;
    for (; write<end; ++write) {
        write->id = 0;
        write->module = NULL;
    }
    data->interpreter_id_as_index = 0;
}
static int __Pyx_State_AddModule(PyObject* module, CYTHON_UNUSED void* dummy) {
    int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
    if (interpreter_id == -1) return -1;
    int result = 0;
    __Pyx_ModuleStateLookup_Lock();
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __Pyx_ModuleStateLookupData *old_data = (__Pyx_ModuleStateLookupData *)
            __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
#else
    __Pyx_ModuleStateLookupData *old_data = __Pyx_ModuleStateLookup_data;
#endif
    __Pyx_ModuleStateLookupData *new_data = old_data;
    if (!new_data) {
        new_data = (__Pyx_ModuleStateLookupData *)calloc(1, sizeof(__Pyx_ModuleStateLookupData));
        if (!new_data) {
            result = -1;
            PyErr_NoMemory();
            goto end;
        }
        new_data->allocated = 1;
        new_data->interpreter_id_as_index = 1;
    }
    __Pyx_ModuleStateLookup_wait_until_no_readers();
    if (new_data->interpreter_id_as_index) {
        if (interpreter_id < __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
            result = __Pyx_State_AddModuleInterpIdAsIndex(&new_data, module, interpreter_id);
            goto end;
        }
        __Pyx_State_ConvertFromInterpIdAsIndex(new_data);
    }
    {
        Py_ssize_t insert_at = 0;
        {
            __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
                new_data->table, new_data->count, interpreter_id);
            assert(lower_bound);
            insert_at = lower_bound - new_data->table;
            if (unlikely(insert_at < new_data->count && lower_bound->id == interpreter_id)) {
                lower_bound->module = module;
                goto end;  // already in table, nothing more to do
            }
        }
        if (new_data->count+1 >= new_data->allocated) {
            Py_ssize_t to_allocate = (new_data->count+1)*2;
            new_data =
                (__Pyx_ModuleStateLookupData*)realloc(
                    new_data,
                    sizeof(__Pyx_ModuleStateLookupData) +
                    (to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule));
            if (!new_data) {
                result = -1;
                new_data = old_data;
                PyErr_NoMemory();
                goto end;
            }
            new_data->allocated = to_allocate;
        }
        ++new_data->count;
        int64_t last_id = interpreter_id;
        PyObject *last_module = module;
        for (Py_ssize_t i=insert_at; i<new_data->count; ++i) {
            int64_t current_id = new_data->table[i].id;
            new_data->table[i].id = last_id;
            last_id = current_id;
            PyObject *current_module = new_data->table[i].module;
            new_data->table[i].module = last_module;
            last_module = current_module;
        }
    }
  end:
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, new_data);
#else
    __Pyx_ModuleStateLookup_data = new_data;
#endif
    __Pyx_ModuleStateLookup_Unlock();
    return result;
}
static int __Pyx_State_RemoveModule(CYTHON_UNUSED void* dummy) {
    int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
    if (interpreter_id == -1) return -1;
    __Pyx_ModuleStateLookup_Lock();
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __Pyx_ModuleStateLookupData *data = (__Pyx_ModuleStateLookupData *)
            __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
#else
    __Pyx_ModuleStateLookupData *data = __Pyx_ModuleStateLookup_data;
#endif
    if (data->interpreter_id_as_index) {
        if (interpreter_id < data->count) {
            data->table[interpreter_id].module = NULL;
        }
        goto done;
    }
    {
        __Pyx_ModuleStateLookup_wait_until_no_readers();
        __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
            data->table, data->count, interpreter_id);
        if (!lower_bound) goto done;
        if (lower_bound->id != interpreter_id) goto done;
        __Pyx_InterpreterIdAndModule *end = data->table+data->count;
        for (;lower_bound<end-1; ++lower_bound) {
            lower_bound->id = (lower_bound+1)->id;
            lower_bound->module = (lower_bound+1)->module;
        }
    }
    --data->count;
    if (data->count == 0) {
        free(data);
        data = NULL;
    }
  done:
#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
    __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, data);
#else
    __Pyx_ModuleStateLookup_data = data;
#endif
    __Pyx_ModuleStateLookup_Unlock();
    return 0;
}
#endif

/* #### Code section: utility_code_pragmas_end ### */
#ifdef _MSC_VER
#pragma warning( pop )
#endif



/* #### Code section: end ### */
#endif /* Py_PYTHON_H */
